我得到了以下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