Wątek przeniesiony 2022-06-07 14:21 z PHP przez Patryk27.

Pełne zapytanie LEFT JOIN nie zwraca wyników

0

Poniższe zapytanie zwraca ładnie wyniki z bazy.

SELECT cd.categories_name
FROM products p ph
LEFT JOIN products_to_categories ptc 
ON p.products_id = ptc.products_id
LEFT JOIN categories_description cd
ON ptc.products_id = cd.categories_id

Dołączam je do reszty zapytania

SELECT p.products_id, p.products_price, p.products_quantity, p.products_image, pd.products_name, pd.products_description, m.manufacturers_name, cd.categories_name, GROUP_CONCAT(pi.image)
FROM products p
LEFT JOIN products_description pd
ON pd.products_id = p.products_id
LEFT JOIN manufacturers m
ON m.manufacturers_id = p.manufacturers_id

LEFT JOIN products_to_categories ptc 
ON p.products_id = ptc.products_id
LEFT JOIN categories_description cd
ON ptc.products_id = cd.categories_id

LEFT JOIN products_images pi
ON pi.products_id = p.products_id
GROUP BY p.products_id

i w kolumnie categories_name otrzymuję NULL. Gdzie popełniam błąd?

4

Przypuszczam, że tu:

ON ptc.products_id = cd.categories_id

lączysz produkt z kategorią więc pewnie nie zwraca danych w CD
jak mniemam powinno byc coś w stylu

on ptc.categories_id = cs.categories_id
0

Dziękuję Ci za pomoc, powinno być

ON ptc.categories_id = cd.categories_id

1 użytkowników online, w tym zalogowanych: 0, gości: 1