2010-08-11 44 views
0

比方說,我有一個數據庫,其中相關的部分是這樣的:尋找訂單的一個產品和另一個產品從另一個類別

PRODUCT TABLE 

productid 

categoryid 

ORDER LINE ITEMS TABLE 

orderid 

productid 

還讓我們說,產品ID#1是類#1。

我的目標是要找到既有線項目的所有訂單類別ID#2,#的ProductID 1的任何產品(這是不是在類別ID#2)。換句話說,當客戶訂購了類別ID#1001和產品1#都什麼都orderids的列表。

我敢肯定有一個簡單的辦法解決這一點,但我消隱它現在 - 我所有的AND和OR被纏住了,但不包括一個或其他!

+0

不知道如果我按照你的問題。在您的需求的一個小標點可能的幫助。 :) – pavanred 2010-08-11 16:09:23

回答

0

假設你有一個名爲ORDER表:

select o.* --put actual column names here instead of * 
from ORDER o 
where o.orderid in (
select orderid 
from PRODUCT p 
inner join [ORDER LINE ITEMS] ol on p.productid = ol.productid 
    and p.categoryid = 2 
) 
and o.orderid in (
select orderid 
from [ORDER LINE ITEMS] ol 
where ol.productid = 1 
) 
相關問題