簡體   English   中英

添加第 5 個表以加入

[英]Adding 5th table to join

也許現在還為時過早,但我不明白為什么我無法將第五張表的查詢與我當前的查詢語句連接起來。

這是我當前的查詢

SELECT xp.productid, xp.product, xc.classid, xco.optionid, xco.option_name, count(xi.optionid) as cnt
FROM xcart_products xp
INNER JOIN xcart_classes xc ON xp.productid = xc.productid AND xc.class = 'Color'
INNER JOIN xcart_class_options xco ON xc.classid = xco.classid
LEFT JOIN xcart_images_D xi ON xi.optionid = xco.optionid
GROUP BY xp.product, xco.optionid
ORDER by xp.product DESC

我正在嘗試添加以下查詢,該查詢的表設置與 xcart_images_D 非常相似

JOIN xcart_images_T xiT ON xi.id = xiT.id

截至目前,我的結果 go 在我添加連接后從大約 2,000 增加到 20。

通過做這個:

JOIN xcart_images_T xiT ON xi.id = xiT.id

您正在使 xcart_images_t 的 JOIN 依賴於您的 (xi) xcart_images_D 表。 因此,如果您的 xcart_images_D 表不匹配,那么您的 xcart_images_T 也不會返回匹配項。

此外,僅通過指定 JOIN,您就隱式指示了 INNER JOIN,這也可能是您問題的一部分。 如果在 xcart_images_T 中匹配不是必需的,那么它應該是 LEFT JOIN。

xcart_images_T 似乎與 xcart_images_D 類似,因此嘗試使用 LEFT JOIN 並使用 xco.optionid 作為 JOIN 鍵:

LEFT JOIN xcart_images_T xiT ON xiT.id = xco.optionid

此外,如果您希望看到來自 xcart_images_T 或 xcart_images_D 的任何字段,您需要將這些添加到您的 SELECT。看看是否有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM