![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 16.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Widuje się cały czas podobne przykłady w różnych manualach, ale jak człowiek chce sam to zrobić to nie wychodzi.
W zapytaniu nie ma raczej błędu składni bo sql zwraca mi jakies wyniki ale nie wszystkie. Błędów też nie raportuje. Oto zapytanie [wklejam całe na wszelki wypadek]: SELECT tablicapp_tools.cena, tablicapp_tools.id, tablicapp_tools.opis, tablicapp_tools.text_pr, tablicapp_tools.katalog, tablicapp_tools.ilefotek, tablicapp_tools.nazwa, tablicapp_tools.tagi, tablicapp_tools.par, tablicapp_tools.plik, tablicapp_tools.fantom, apple_sc.id AS scid, apple_sc.o1, apple_sc.o2, apple_sc.o3, apple_sc.o4, apple_sc.o5 FROM apple_sc LEFT JOIN tablicapp_tools ON apple_sc.id = tablicapp_tools.sciecha WHERE ( ( tablicapp_tools.sciecha ='989' AND tablicapp_tools.blok !='tak' AND tablicapp_tools.nazwa !='' AND tablicapp_tools.podprodukt ='' ) OR ( tablicapp_tools.id = (SELECT id FROM tablicapp_tools AS t3 WHERE t3.id=tablicapp_tools.fantom) ) ) ORDER BY tablicapp_tools.kol, tablicapp_tools.id DESC LIMIT 0 , 25 ============================================== Jak narazie zapytanie zwraca mi tylko dane z pierwszego warunku, tzn: ( tablicapp_tools.sciecha ='989' AND tablicapp_tools.blok !='tak' AND tablicapp_tools.nazwa !='' AND tablicapp_tools.podprodukt ='' ) a chciałbym aby zadziałał mi także ten warunek: ( tablicapp_tools.id = (SELECT id FROM tablicapp_tools AS t3 WHERE t3.id=tablicapp_tools.fantom) ) I nie jestem pewien czy to logicznie możliwe ... czy czegos nie namieszałem. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Ciężko cokolwiek powiedzieć, bo nie znamy struktury tabel i wzajemnych relacji niektórych pól (tablicapp_tools.id i tablicapp_tools.fantom). Przede wszystkim sprawdź ile rekordów zwraca zapytanie
Jeśli więcej niż jeden, to nie możesz użyć znaku równości w drugim warunku, a powinieneś użyć IN.
Poza tym za mało wiemy, aby stwierdzić, czy to jest logicznie możliwe, czy nie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 07:53 |