2015-10-05 66 views
1

寻求有关此复杂场景的帮助。元素存在于一个组中必须与其他元素一起存在

我称三代表作为InterchangeDriverApplication

ALL SKU从应用程序表中存在的交换表检查为“REP”和可用称为“基线”和对应关系NewSKU其中存在柱新行目前在驱动程序表

表: -

DECLARE @Interchange TABLE 
(
SKU VARCHAR (50), 
CHECKS VARCHAR (50), 
NewSKU VARCHAR (50) 
) 


INSERT @Interchange 
SELECT 'AEM41-1408DS', 'Bridgestone', '41-1408DS' UNION ALL 
SELECT 'AEM41-1408DS', 'REP', 'AEM21-203DK' 


DECLARE @Driver TABLE 
(
BaseLine VARCHAR (50), 
NewLine VARCHAR (50) 
) 



INSERT @Driver 

SELECT 'Cold Air Intake', 'Air Filter%' 


DECLARE @APPLICATION TABLE 
( 
SKU VARCHAR (50), 
line VARCHAR (50) 
) 

INSERT @APPLICATION 


SELECT 'AEM41-1408DS', 'Cold Air Intake' UNION ALL 
SELECT 'AEM41-1408DS', 'Cold Air Intake' UNION ALL 
SELECT 'AEM41-1408DS', 'Cold Air Intake' UNION ALL 
SELECT 'AEM41-1408DS', 'Cold Air Intake' UNION ALL 
SELECT 'AEM21-203DK', 'Air Filter High' 

任何一个可以请建议这种复杂情况下的T-SQL查询?

+1

仅以表格格式显示示例数据和所需输出会非常有帮助。 – DarkKnight

+1

我不明白从“所有SKU”开始的整个事情。我读了三次,迷失在中间......难道你不能简化你的问题吗?我们时间都很短。 –

+0

输出需要从应用程序中取出,AND 驱动程序表被用来检查线SKU和NewSKU 我们需要检查SKU(从驾驶员交汇处表和基线)和对应关系NewSKU(从交换表和来自驱动程序表的新行) 两者都应出现在应用程序表中应该出现在输出 其中应该检查REP – Shan

回答

0

正如我了解你的意见,我已经为你写了下面的查询,如果它不符合你的要求,那么请分享一下样本输出。

select A.* from @APPLICATION A 
where exists (select sku from @Interchange where A.SKU = SKU) 
AND EXISTS (SELECT baseLine from @Driver where BaseLine = A.line) 
相关问题