PHP ir SQL > PHP ir SQL - Klausimai ir pagalba

Left Join grąžina tik paskutinę eilutę

(1/1)

Esnyper:
Turiu tokią užklausą:

--- Kodas: ---SELECT SQL_CALC_FOUND_ROWS
a.*
, pl.`name` as pname, al.`name` as aname, a.id_product, ac.id_attribute, COALESCE(COUNT(c.id_code), 0) as waiting_codes
FROM `bpg_product` a

            LEFT JOIN `bpg_product_attribute` pa ON (pa.id_product = a.id_product)
            LEFT JOIN `bpg_product_attribute_combination` ac ON (ac.id_product_attribute = pa.id_product_attribute)
            LEFT JOIN `bpg_product_lang` pl ON (a.id_product = pl.id_product AND pl.id_shop = 1 AND pl.id_lang = 2)
            LEFT JOIN `bpg_attribute_lang` al ON (ac.id_attribute = al.id_attribute AND al.id_lang = 2)
            LEFT JOIN `bpg_code` c ON (a.id_product = c.id_code_product AND IFNULL(ac.id_attribute, 0) = c.id_product_attribute AND c.active = 1)

WHERE 1  AND a.ctype = "virtual"

ORDER BY a.`id_product` ASC LIMIT 0,50
--- Baigti kodą ---
Po paskutinio LEFT JOIN eilutės pridėjimo sąrašas sutrumpėjo iki 1-os eilutės. Kaip matot, jei prekė neturi kodo, ją turi rodyti su waiting_codes = 0. Kur galėtų būti problema?

Navigacija

[0] Žinučių sąrašas

Eiti į pilną versiją