![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 14 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Potrzebuje pobrać wszystkie wartości z tabeli1, jeżeli tabela2 w polu "dokument" ma wartość 0 Tabela1 Kod id | data | user | inne pola ... 1 | 2010 | 1234 | ... 2 | 2011 | 3456 | ... Tabela2 Kod id | dokument | inne pola ... 1 | 0 | ... 2 | 1 | ... Zapytanie wyprodukowałem takie:
Dla przykładowych danych zwraca mi oba wyniki (z tabeli 1 [powinno zwrócić tylko pozycję 2]). Potrzebuję też wziąć pod uwagę przypadek, kiedy tabela2 jest pusta. Z góry dzięki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Mam pytanie... Skoro pole tabela2.dokument wskazuje na pole tabela1.id, to jak Ty chcesz wiedzieć jakie dokumenty to mają być, skoro szukasz tam, gdzie tabela2.dokument = 0? Przecież to bezsens logiczny. Jak ma znaleźć jakikolwiek dokument, skoro tabela 2 nie przechowuje o nim informacji wtedy? Niby gdzie? W tabeli1, w rekordzie o id = 0? Sam tak to ustawiasz i dziwisz się, że nie działa, a przecież nie ma prawa działać. Od kiedy bowiem można łączyć dwie tabele po polu, które według Ciebie z góry ma mieć wtedy zawsze wartość 0 i jeszcze oczekiwać sensownego wyniku?
A może to miało być tak, że w obu tych tabelach pola id odpowiadają sobie (tabela.id oznacza dokument powiązany z tabela2.id)? Jeśli dobrze myślę, to jedynie w zapytaniu zmień: ON t2.id = t1.id Co do drugiej części pytania, to chyba najszybciej będzie pchnąć drugie zapytanie uzależnione od liczby wierszy wyniku po stronie php niż robić cuda-wianki w zapytaniu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 10:51 |