2017-12-05 15 views
0

2つのクエリを1つに結合しようとしています。SQLクエリを1つにまとめる

まずクエリ:

select SaleID 
from Sales 
where InvoiceStatusID = 'OR'; 

2番目のクエリ:

keyProductIDは私がから最初 SaleIDを格納することによって、これをやっているクエリ1.

から取得していますSaleIDある

select ItemSaleLines.Quantity, Items.CustomField2 
from ItemSaleLines 
inner join Items on ItemSaleLines.ItemID = Items.ItemID 
inner join Sales on ItemSaleLines.SaleID = Sales.SaleID 
where (ItemSaleLines.SaleID = {keyProductID} 
    and (ItemSaleLines.Quantity > 0) 
    and (Items.ItemNumber not like '%tnt%') 
    and (Items.ItemNumber not like '%contact%') 
    and (Items.ItemNumber <> '') 
    and (Items.ItemNumber <> '-')) 

クエリ1に渡され、クエリ2に渡されますが、効率的でなく、呼び出しが多すぎます。

どうすればよいでしょうか?

答えて

0

あなたはこのような何かを試すことができ、

select ItemSaleLines.Quantity,Items.CustomField2 from ItemSaleLines 
inner join Items on ItemSaleLines.ItemID=Items.ItemID 
inner join Sales on ItemSaleLines.SaleID=Sales.SaleID 
where (ItemSaleLines.SaleID=(select SaleID from Sales where InvoiceStatusID='OR') 
AND (ItemSaleLines.Quantity > 0) AND (Items.ItemNumber not 
like '%tnt%') AND (Items.ItemNumber not like '%contact%') AND (Items.ItemNumber <> '') AND (Items.ItemNumber <> '-')) 
+0

おかげSantoshちょうど「で」がなければならない=あなたのポストにはほとんど変更を加える代わりに働いたこと - ItemSaleLines.SaleIDでは(InvoiceStatusID =売上高からSaleIDを選択'OR') –

+0

うれしかった!! – Santosh

関連する問題