Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Select ze wszystkich tabel
Forum PHP.pl > Forum > Przedszkole
slawny
Witam.
Problem polega na stworzeniu select, ktory bedzie szukal we wszystkich tabelach cos w stylu
SELECT *FROM * where.......
taki zapis nie ma sensu, sprawdzalem wyrzuca blad.
Jakies pomysly?

Pozdrawiam Slawny
kszychu
Bo to nie ma sensu. Co Ty właściwie chcesz przez to osiągnąć? Jeśli musisz szukać po wszystkich tabela, to masz coś nie tak z projektem bazy.
slawny
Jest sobie kilka tabel z kazda reprezentuje jakas kategorie produktu (laptopy, drukarki itp) select ma sprawic ze zostana wyszukane te rekory dla ktorych pole promocja jest rozne od null. Proste. Jednym slowem te rekordy dla ktorych mamy promocje.
l0ud
Ale to nawet nie ma sensu. Tabele mogą się przecież od siebie różnić strukturą, wtedy w jaki sposób to obsłużyć?
Nie najlepiej to rozwiązane, powinna być jedna tabela z produktami, z dodatkową kolumną: identyfikatorem kategorii. Byłoby dużo przejrzyściej...
kszychu
A jak zwiększasz asortyment, bo nagle trafiło Ci się tanio 13000 sztuk radzieckich budzików i chcesz je sprzedać, to co, dodajesz kolejną tabelę do bazy? Mówiłem, że baza jest ciulowo zaprojektowana! Powinna być tabela produkty, która by zawierała np. pole typ, które identyfikowało by, czy jest to laptop, drukarka czy radziecki budzik.

I jeszcze jedno. Poziom tematu kwalifikuje go do przedszkola. Przenoszę.
slawny
Jasne. Jedna tabela z 60 kolumnami, z czego zdecydowana wiekszosc null.
Bez sensu.
Obsluge juz mam, dodaje edytuje usuwa i uploaduje zdjecia bez najmniejszych problemow

Jak zwiekszam asortyment to jest tabela inne gdzie wsadzam rzeczy ktorych nie przewidzialem przy projektowaniu bazy. To ma byc sklep komp wiec raczej mielonki tam sprzedawac nie bede, a jesli przyjdzie mi na to ochota to bede mogl wsadzic mielonke to tabeli inne.
specialplan
Chyba musisz troche poczytac...

np:
http://dev.mysql.com/tech-resources/articl...malization.html
kszychu
Cytat(slawny @ 21.02.2008, 15:35:09 ) *
Jasne. Jedna tabela z 60 kolumnami, z czego zdecydowana wiekszosc null.
Bez sensu.

Zgadzam się. Dlatego należałoby jeszcze raz przeanalizować problem i zastanowić się, czy na pewno wszystkie cechy produktów musisz umieszczać w osobnych polach bazy danych.
Cytat(slawny @ 21.02.2008, 15:35:09 ) *
Jak zwiekszam asortyment to jest tabela inne gdzie wsadzam rzeczy ktorych nie przewidzialem przy projektowaniu bazy. To ma byc sklep komp wiec raczej mielonki tam sprzedawac nie bede, a jesli przyjdzie mi na to ochota to bede mogl wsadzic mielonke to tabeli inne.

A no widzisz. Po co więc komplikować sobie życie? Nie lepiej od razu z tabeli inne zrobić główną tabelę produktów? Kolega, mający sklep mięsny zobaczy Twój program i poprosi Cię o zrobienie mu takiego. I co, będziesz od nowa wszystko robił i tworzył tabele "krakowska", "szynka z komina" czy "parówki"?
slawny
W sklepie miesnym sprawa ma sie dosc prosto. Wszystki produkty moge opisac w jedej tabeli...nazwa....producent....cena/kg....data waz i wszystko. Ze sprzetem komputerowym mogl byc zrobic podobnie....nazwa kategoria cena promocja itp dodatkowo opis i tam wszytsko ale marnie po tem na tym opierac wyszukiwarke i inne gadzety.
Zrobilem jak uwazalem za stosowne i juz koncepcji nie zmienie bo za duzo pracy mnie to kosztowalo.

Moze koncepcja nie jest najlepsza, ale czlowiek uczy sie na bledach, narazie jest ok a do pelnego szczesci a brakuje mi tego selecta.
kszychu
Skoro tak, to muszisz zrobić tyle selectów, ile masz tabel i zsumować wyniki. Innej możliwości nie ma.
slawny
Nie wierze w to, ze w tak zajebistym narzedziu jak php nie ma takiej mozliwosci.
Mimo to dziekuje ze pomoc. Oczywiscie jak znjade rozwiazanie to wkleje
specialplan
Oczywiscie nie znajdziesz. A jesli juz to obejscie. To sie kloci z logika, poniewaz pobranie wszystkich danych ze wszystkich tabel uniemozliwiloby na tych danych jakiekolwiek operacje (bo jak rozpoznac gdzie to ma rece a gdzie nogi). To nie jest kwestia php, tylko SQL i organizacji bazy. Mozesz po prostu zrobic JOIN tych wszystkich tabel. Powodzenia:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.