愿任何人帮助我如何获得这个。
Add to Subversion
我想选择那些制作不是'99999'的记录,其中DECLARE @MYTABLE TABLE
(
LINE VARCHAR (50),
SKU VARCHAR (50),
MAKE VARCHAR (50),
MODEL VARCHAR (50),
YEAR VARCHAR (50)
)
INSERT @MYTABLE
SELECT 'AIRFILTER','KNFHU-1200', '629','23081', '2013' union all
SELECT 'SERPTINBLT','TCI743812', '99999', '727', '1972' union all
SELECT 'CAMSHAFT','DYC5060695', '51', '575', '1989' union all
SELECT 'CAMSHAFT','DYC5060695', '99999', '575', '1989' union all
SELECT 'HEADLIGHTB','COM08-443-8', '47', '458', '1994' union all
SELECT 'ATTRNKCKCB','DTL03-1394', '55', '709', '1992'
DECLARE @DRIVER TABLE
(
Line VARCHAR (50)
)
INSERT @DRIVER
SELECT 'SERPTINBLT' UNION ALL
SELECT 'CAMSHAFT'
在驱动程序表中给出。
例如:驱动程序中可用的两行“SERPTINBLT”和“CAMSHAFT” 因此,对于这两行应该始终为“99999”,如果它包含“99999”以外,它应该出现在输出中 在这种情况下,“CAMSHAFT”行有两个品牌,即“51”和“99999”。
LINE
答案 0 :(得分:0)
使用 INNER JOIN 按@DRIVER
表过滤行,并使用 WHERE 子句过滤错误MAKE
的行:< / p>
SELECT m.*
FROM @MYTABLE m INNER JOIN @DRIVER d
ON m.LINE = d.Line
WHERE m.MAKE != '99999'
答案 1 :(得分:0)
非常简单,您必须使用INNER JOIN
的{{1}}并排除@Driver
中已制作'99999'的记录
使用以下代码:
@Mytable