我有6张桌子 1.产品p 2.属性a 3.产品和属性pa(ID,pID,aID) 公司c 你来的 6.公司和用户cu(ID,cID,uID)
现在在管理员中我想看到公司产品及其属性。
SELECT p.ID, p.name
from products p
LEFT JOIN Product and Attribute pa ON pa.pID = p.ID
LEFT JOIN Attributes a ON a.pID = pa.aID
LEFT JOIN Company and User cu ON cu.UiD = p.uID AND cu.cID = 121 (spcific company id)
WHERE 1
GROUP BY p.ID
答案 0 :(得分:0)
在MySQL中,GROUP BY
隐含ORDER BY
如果不需要特定订单,请添加ORDER BY NULL
默认情况下,MySQL会对所有GROUP BY col1,col2,...查询进行排序,就好像您在查询中指定了ORDER BY col1,col2,....如果显式包含一个包含相同列列表的ORDER BY子句,MySQL会在没有任何速度惩罚的情况下对其进行优化,尽管排序仍然存在。如果查询包含GROUP BY但您希望避免对结果进行排序的开销,则可以通过指定ORDER BY NULL来禁止排序。例如: