我正在尝试将两个查询合并为一个。
首先查询:
select SaleID
from Sales
where InvoiceStatusID = 'OR';
第二次查询:
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 <> '-' ) )
其中keyProductID
是我从查询1获得的SaleID
。
我这样做是先将SaleID
从查询1中存储并传递给查询2,但效率不高且调用次数过多。
更好的方法是什么?
答案 0 :(得分: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 <> '-' ) )