我試圖根據另一個表中存在的值(特別是字段爲空)來加入2個表。根據以前的值使用不同字段加入相同的表
根據該字段是否爲空,我想以不同的方式執行LEFT JOIN。
實施例:
LEFT JOIN (SELECT report_transaction_id, line_number, sale_staff_id, item_type, article_id, sale_count, return_count, line_price_inc_vat, merchandise_category
FROM [CRM].[TransactionItems]) ti
ON th.report_transaction_id = ti.report_transaction_id
CASE ti.article_id WHEN IS NULL THEN
LEFT JOIN (SELECT TOP 1 article_id, merchandise_category, long_desc, division_code, division_desc, group_code, group_desc
FROM [CRM].[Products]) p
ON ti.MERCHANDISE_CATEGORY = p.MERCHANDISE_CATEGORY
ELSE
LEFT JOIN (SELECT article_id, merchandise_category, long_desc, division_code, division_desc, group_code, group_desc
FROM [CRM].[Products]) p
ON ti.article_id = p.article_id
END
的情況下部分是示數,與附近有語法錯誤CASE的部分。據我所知,使用CASE不是一種有效的方式來選擇Products表中使用哪些連接,所以我想知道確定哪個連接需要運行的正確方法,
謝謝。
嘗試'CASE什麼時候ti.article_id是NULL那麼' – markpsmith
不幸的是仍然有相同的錯誤。這正是我之前將ti.article_id移到之前的時間 –