![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 4.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, ze to jest w manalu, ale probowalem na 10 sposobow i zawsze cos nie działalo. chcialbym wyszukiwac w 3 tabelach, obecnie zrobiłem dla jednej i co bym nie robił - zawsze wyskakuje bład, gdy probuje zrobic dla chociazby dwoch:
i jak teraz zrobic, zeby wyszukiwalo dodatkowo w tabela2 i tabela3 tych samych warunków? bardzo prosze o pomoc tak czytam wciąż o tym JOIN i dodam tylko, że tabele w żadnym stopniu nie są połączone. Po prostu chciałbym wyszukiwać z 3 tabel te rekordy, które w kolumnie 'xx' mają wpisane 'xxx' lub 'yyy' jakby to zrobic? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
lub
Z tym że drugie zapytanie raczej zadziała inaczej niż pierwsze ![]() Ten post edytował Greg0 4.07.2013, 12:08:24 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Greg twoj sposob jest zly bo zwraca iloczyn kartezjanski
Cytat tak czytam wciąż o tym JOIN i dodam tylko, że tabele w żadnym stopniu nie są połączone. Skoro nie sa w zaden sposob polaczone to masz uzyc UNION zamiast join
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 4.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
sposób Grega niestety rzeczywiście zwraca iloczyn kartezjański.
nospor, o union również czytałem i jeśli nawet napisałem poprawy warunek, to coś nie działa, bo wywala błąd i pewnie jest to kwestia nawiasów. Coś takiego:
i leci błąd zapytania. pewnie kwestia nawiasow, ale nie wiem jak to naprawić próbowałem jeszcez coś takiego:
ale też wywala błąd składniowy tym razem (error) po zrobieniu czegoś takiego:
nie wywala erroru, ale bład zapytania. jakiś progres jest, tylko jak napisać to poprawnie? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No ale wyswietlaj blad a nie durny nic nie mowiacy tekst....
die(mysql_error()); i bedziesz wiedzial jaki masz blad ps: liczba kolumn jakie zwracaja SELECT w union ma byc taka sama. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
1. Zrezygnuj z * - naprawdę nie znam sytuacji, w której byłyby nieodzowne.
2. Jak już to zrobisz i przeczytasz dokładnie komunikaty, to się dowiesz, że liczba kolumn w 1 i w 2 SELECT musi być taka sama. Inne DBMS-y wymagają również zgodności typów - jak MySQL to nie wiem, bo jak ognia unikam UNION 3. Postaraj się zrezygnować z UNION bo to zło. 4. Jeśli nie możesz to sprawdź różnicę między UNION a UNION ALL |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ad3) Że niby czemu to zlo? UNION wymyslono w konkretnym celu i w tym wlasnie celu jest tutaj uzyty. Nie popadaj w paranoje
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
98% przypadków użycia UNION wynika albo ze złego przemyślenia struktury, albo z dupowatego bazodanowca.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To ze ktos nie umie uzywac UNION to nie znaczy ze UNION to zlo.... idac twoim tokiem myslenia mozna powiedziec, ze mozg to zło, bo 98% pytajacych na forum źle go uzywa...
Ostatnio pisalem duzy projekt, gdzie UNION niesamowicie przyspieszylo mi pewne zapytania i to nie dlatego, ze baza byla zla... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:46 |