2016-03-06 25 views
0

我想了解如何在不使用Group By命令的情況下爲以下內容編寫SQL的一些指導?加入和輸出 - 使用SELECT DISTINCT

可以說我有如下表:

Product 
PrdNo|PrdName 
1|Mouse 
2|Keyboard 
3|Monitor 
4|Speakers 
5|Cpu 

OrderList 
OrdNo|PrdNo|Qty 
101|4|2 
102|3|4 
103|2|1 
104|1|5 
105|4|3 
106|5|1 
107|2|4 

Orders 
OrdNo|OrdState 
101|MD 
102|CA 
103|CA 
104|VA 
105|CA 
106|NY 
107|CA 

如何可以顯示以下,爲此,訂單狀態是CA?並按產品名稱升序排序。讓它只打印唯一的(不同的)產品名稱。並且不要使用分組依據命令。

PrdName|PrdNo||OrdState 
Keyboard|2|CA 
Monitor|3|CA 
Speakers|4|CA 

回答

1

你需要加入表一起,並應用DISTINCT

SELECT DISTINCT p.PrdNo, p.PrdName, o.OrdState 
FROM Product AS p 
INNER JOIN OrderList AS ol ON p.PrdNo = ol.PrdNo 
INNER JOIN Orders AS o ON o.OrdNo = ol.OrdNo 
WHERE o.OrdState = 'CA' 
ORDER BY PrdName 

Demo here