![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zablokowani Postów: 167 Pomógł: 2 Dołączył: 15.02.2004 Ostrzeżenie: (30%) ![]() ![]() |
Tablica "ogloszenie"
Kolumny: ogl_id Wiersze: 1 2 3 4 5 Tablica "ogloszenie_opis" Kolumny: ogl_id, opi_id Wiersze: 1, 1 1, 2 1, 3 1, 4 1, 5 2, 1 3, 1 4, 3 5, 2 5, 3 5, 4 Tablica "ogloszenie_wyposazenie" Kolumny: ogl_id, wyp_id 1, 1 1, 2 1, 3 2, 1 3, 1 4, 1 5, 1 Pytanie: jak pobrac z bazy danych ID ogloszenia (tabela: "ogloszenie", pole "ogl_id") przy tym, że "opi_id" tabeli "ogloszenie_opis" musi wynosić 1 i 2 i 3 oraz "wyp_id" 1 i 2? Odpowiedź powinna być taka, że zwraca mi ID ogłoszenia = 1, gdyż tylko ogłoszenie ID 1 spełnia ten warunek (posiada wyp_id: 1, 2, 3 oraz opi_id: 1, 2). Proszę o pomoc przy skonstruowaniu zapytania SQL. Może trochę namieszałem, ale również tak zamieszane jest to SQL. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 1 Dołączył: 19.02.2004 Ostrzeżenie: (10%) ![]() ![]() |
na szybko to chyba powinno byc tak:
|
|
|
![]()
Post
#3
|
|
Grupa: Zablokowani Postów: 167 Pomógł: 2 Dołączył: 15.02.2004 Ostrzeżenie: (30%) ![]() ![]() |
Dziękuję. Jednak użycie operatora IN spowoduje, że zostaną pobrane wszystkie rekordy, które posiadają 1 LUB 2, a ja chciałbym wybrać wszystkie, które posiadają 1 ORAZ 2.
oo.opi_id in ( 1, 2 ) Próbuje tak: oo.opi_id = 1 AND oo.opi_id = 2, ale to nie działa |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
No i nie bedzie dzialac bo jak "1" moze byc jednoczesnie "1" i "2"? Cytat Odpowiedź powinna być taka, że zwraca mi ID ogłoszenia = 1, gdyż tylko ogłoszenie ID 1 spełnia ten warunek (posiada wyp_id: 1, 2, 3 oraz opi_id: 1, 2). Hmm musisz polaczyc EXISTS (istnieja rekordy z wyp_id...) i ALL. Zreszta zaraz sprawdze. -------------------- Nie lubię jednorożców.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:39 |