我得到了以下SQL問題,我不會爲我工作。我知道最後一個CASE行是錯誤的,但我想在我的where子句中使用CASE語句。SQL - 案例在哪裏條款
我的情況的簡短描述: 我有幾家公司通過「companyID」鏈接到他們自己的材料。每種材料都可以鏈接到pricelist_entries中的一行。如果我在pricelist_entries表中搜索鏈接到許多材料行的一行,則將返回所有行,但我只想返回屬於當前公司(執行搜索的公司)的行。 結論:如果materialID不爲NULL那麼materials.company =「current.companyID」。
SELECT peID, peName, materialID
FROM pricelist_entries
INNER JOIN pricelist ON pricelist_entries.peParentID=pricelist.pID
LEFT JOIN materials ON pricelist_entries.peID=materials.pricelist_entries_id
WHERE peBrand = 'Kama' AND pricelist.pCurrent = 1
AND (peName LIKE '%gocamp de%' OR peArtnr LIKE '%gocamp de%')
AND pricelist.country=0 AND pricelist_entries.peDeleted=0
CASE materialID WHEN IS NOT NULL THEN materials.companyID=10 END
請告訴我,如果我需要更好地描述我的問題。 在此先感謝!
這正是我所期待的。謝謝! :) – hgerdin 2013-05-12 07:32:10