![](/img/trans.png)
[英]Excluding records based on multiple criteria with specific values in two columns
[英]Excluding records based on multiple variables
SQL noob在這里。 我正在使用MS Access查詢路燈數據表,以排除特定大小的光,並且僅在燈具類型是“眼鏡蛇”的變體的情況下。 有誰願意對我可能做錯的事情給我一些指導?
我可以生產需要排除的燈:
SELECT *
FROM Lighting
WHERE Lighting.TYPE_FIXTURE LIKE '*cobra*'
AND Lighting.SIZ < '16'
很簡單。 我認為這很容易進行一些調整,以排除它們而不是產生它們。
SELECT *
FROM Lighting
WHERE Lighting.TYPE_FIXTURE NOT IN ('*Cobra*')
AND Lighting.SIZ NOT IN ('10', '15')
此代碼排除了我需要排除的燈,但排除了其他所有類型的100或150w的燈。 為了我的一生,我想不出如何排除150w以下的眼鏡蛇燈。
通過廣泛的互聯網研究,我嘗試使用IIF表達式生成一個臨時列,該列的值為0或1,具體取決於是否需要排除它,
SELECT *
,IIf(Lighting.TYPE_FIXTURE LIKE "*cobra*" AND Lighting.SIZ < 15, 0, 1) AS IncludeFlag
INTO #MyTempTable
FROM Lighting
SELECT *
FROM #MyTempTable
WHERE IncludeFlag = 1
但是我唯一的結果是一條錯誤消息,我不知道該如何解決。 我已經花了整整一天時間在這個查詢上,而且我開始拔頭發了!!
嘗試這個...
SELECT *
FROM Lighting
WHERE (Lighting.TYPE_FIXTURE NOT LIKE '*cobra*'
AND Lighting.SIZ < '16')
從TRUE和TRUE轉換為NOT(TRUE和TRUE)涉及將NOT分布在方括號內,並將AND切換為OR。
以下內容應為您提供所需的結果:
SELECT *
FROM Lighting
WHERE Lighting.TYPE_FIXTURE Not Like '*cobra*' OR Lighting.SIZ>='16';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.