我想在更多的表格(4+)之間做一個複雜的SELECT操作,它會對訂單和物品進行計數。非常複雜SELECT
到目前爲止,這是我的路線是:
SELECT
myl_u.id,
myl_u.label_real_address,
myl_u.ext,
COUNT(myc_c.contact_id),
COUNT(myl_r_c.release_id)
FROM
myl_users myl_u
LEFT JOIN myc_contacts myc_c ON myc_c.contact_type='l' AND myc_c.contact_id=myl_u.id
LEFT JOIN myl_releases myl_r ON myl_r.id=myl_u.id
LEFT JOIN myl_r_comments myl_r_c ON myl_r.release_id=myl_r_c.release_id
GROUP BY myl_u.label_real_address
ORDER BY COUNT(myc_c.contact_id) DESC
它一半的工作,但是當我添加了SQL的後半部分,它顯示了意外的值,並將其他們來說太莫名其妙了一倍。
基本上我有myl_users(唱片公司的集合) myc_contacts(有多少收藏確實用戶有,CONTACT_TYPE =「L」意味着這是關於myl_users而不是其他表) myl_releases包含音樂版本(如EP,專輯,具有獨特的ID 和myl_r_comments包含註釋普通用戶做這些版本。
我設法唱片有多少收藏有(15,14,10,8到有序.. ) - COUNT(myc_c.con tact_id)子句
但是,當我添加下一個子句並使查詢更大以按標籤發佈的總評論排序時,意外出現。
有人能找到正確的方法嗎?
我會根據您的需求評論和修改/澄清問題。
感謝, 有一個快樂的新年,我發現是,你需要一個WHERE子句,如果你想限制的行
等一下,請更清楚你添加的內容不起作用。您試圖添加更多'ORDER BY'?請張貼這些表的表結構(至少相關的列,如果它們很長的話) –