我的問題是我無法查詢匹配的記錄。SQL Server內部加入Where子句
查詢應做到以下幾點:
ID | Name | Value
-- | ------ | ------
1 | Color | Red
1 | Color | Blue
1 | Color | Green
1 | Sizes | 1cm
1 | Sizes | 5cm
2 | Color | Yellow
2 | Color | Green
2 | Sizes | 5cm
2 | Sizes | 10cm
查詢1:
- 顏色爲紅色或藍色
-AND- - 尺寸埃= 1cm
返回匹配記錄DS(ID = 1)
問題2:
- 顏色=黃色或綠色
-AND- - 大小=5釐米
返回匹配的記錄(ID = 1 ,2)
我的查詢:
SELECT a.ID, b.Name, c.Value
FROM table1 a
INNER JOIN table2 b ON a.Id = b.aId
INNER JOIN table3 c ON b.ID = c.bId
WHERE (c.Value = (CASE b.Name WHEN 'Color' THEN 'Red' END)
OR
c.Value = (CASE b.Name WHEN 'Color' THEN 'Blue' END)
)
AND (c.Value = (CASE b.Name WHEN 'Sizes' THEN '1cm' END))
它不工作方式:(
我會很高興,如果你能幫助我。
這絕對不是設置數據庫表的方法。甚至可以查看規範化,谷歌或維基百科。 – Edward