Autorius Tema: Left Join grąžina tik paskutinę eilutę  (Skaityta 1537 kartus)

Neprisijungęs Esnyper

  • Naujokas
  • *
  • Įrašai: 107
  • Karma: +0/-0
    • Žiūrėti profilį
Left Join grąžina tik paskutinę eilutę
« Įrašytas: 2015-05-26 10:51:11 am »
Turiu tokią užklausą:
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
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?

Manualai.lt Forumas

Left Join grąžina tik paskutinę eilutę
« Įrašytas: 2015-05-26 10:51:11 am »