![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 3 Dołączył: 14.07.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele:
products kolumny: products_id | products_kod 1 xxxxx 2 yyyyyy 3 zzzzzz .... products_description kolumny: products_id | gen | products_description 1 2 xxxxxxxx 2 NULL yyyyyyyy 1 7 xxxxxzzzz 3 2 xxxxxxyyy ... categories_to_gen kolumny: categories_id | gen 1000 1 1002 2 1005 7 .... products_to_categories products_id | categories_id 1 1000 2 1003 3 1002 .... chodzi o listing wszystkich opisów i kodów produktów dla zadanej kategorii, np 1002, zapytanie nr 1:
sprawa banalna. Jenak chcę dodać do pytania tabelę categories_to_gen bo wyniki wyszukiwania w products_description mogą dawać różne rezultaty products_description dla takich samych products_id i różnych gen (np: products_id = 1 w tabeli products_description) I tu jest problem, bo proste włączenie do zapytania, tabeli categories_to_gen: zapytanie nr 2:
będzie wykluczało z wyników te rekordy, dla których gen = NULL w tabeli products_description, a ja chciałbym aby w przypadku nie zefiniowanego gen, takie rekordy były wyświetlane pomimo braku powiązania pd.gen = c2g.gen w tabeli categories_to_gen. Pytanie - czy jest jakiś sposób na listing rekorów spełniających warunek z zapytania nr 2 ale bez wykluczenia rekordów z gen = NULL w tabeli products_description ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Przerób zapytanie na złączenia i korzystaj z JOIN oraz LEFT JOIN (to Cię szczególnie zainteresuje).
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 3 Dołączył: 14.07.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
trochę źle napisałem tabelę products_description
teraz poprawnie: products_description kolumny: products_id | gen | products_description 1 2 xxxxxxxx 3 NULL yyyyyyyy 1 7 xxxxxzzzz 3 2 xxxxxxyyy Left join nie dołączy mi do wyników rekordu 3 NULL yyyyyyyy z tabeli products_description pominie go, bo nie spełnia warunku pd.gen = c2g.gen w listingu pojawi się tylko 3 2 xxxxxxyyy Ten post edytował kurt 30.10.2015, 11:17:36 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Co nie zmienia faktu, że proponuję skorzystać z podanego przeze mnie rozwiązania.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:52 |