我試圖在MySQL SELECT語句中包含子查詢來組裝產品鏈接,當與該鏈接關聯的產品ID可能不再存在時。當該產品ID不存在時,子查詢找不到任何結果,並且整個行從最終結果中被省略。無論如何,我希望該行能夠被返回(NULL值會很好)。當子查詢匹配沒有結果時,MySQL子查詢忽略整行
SELECT s.field_a, s.field_b, s.field_c,
(SELECT CONCAT('/', sma.name_link, '/', smo.name_link, '.html?pid=', spr.id)
FROM sales_products AS spr, sales_sections AS see,
sales_models AS smo, sales_manufacturers AS sma
WHERE sse.id = spr.sales_section_id AND smo.id = sse.sales_model_id
AND smo.sales_manufacturer_id = sma.id
AND spr.id = s.sales_product_id
) AS product_link
FROM sales_order_items AS s, sales_products AS p
WHERE s.order_id = 100 AND p.id = s.sales_product_id
ORDER BY shipment_id, sales_order_item_id
我已經搜索了很長一段時間,但我只是沒有設法將這一塊拼湊在一起。我期待着可以提供的任何形式的反饋或解決方案。
謝謝你,斯賓塞。這完美地完成了這個技巧。看起來你明白我想要完成的事情(爲了簡化示例,我從查詢中刪除了很多內容)。 同時也感謝您與我分享更多的想法和最佳實踐。我真的很感激。 – James
答覆完畢後,我點擊複選框接受答案。我想這就是你的建議?請讓我知道是否還有更多我錯過的東西。 – James