首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

,查出表1没在表2的数据

2013-06-26 
求助,查出表1没在表2的数据--建表CREATE TABLE temp1(p_id VARCHAR(10),p_a VARCHAR(10),p_b VARCHAR(10),

求助,查出表1没在表2的数据
--建表
CREATE TABLE temp1(p_id VARCHAR(10),p_a VARCHAR(10),p_b VARCHAR(10),p_qty DECIMAL(18,6))
CREATE TABLE temp2(p_id VARCHAR(10),p_a VARCHAR(10),p_b VARCHAR(10),p_qty2 DECIMAL(18,6))

--TEMP1表给值
INSERT temp1(p_id,p_a,p_b) VALUES('A01','无','无')
INSERT temp1(p_id,p_a,p_b) VALUES('A01','红','无')   --这值没在表2
INSERT temp1(p_id,p_a,p_b) VALUES('A02','无','无')
INSERT temp1(p_id,p_a,p_b) VALUES('A02','黑','无')   --这值没在表2
--TEMP2表给值
INSERT temp2(p_id,p_a,p_b) VALUES('A01','无','无')
INSERT temp2(p_id,p_a,p_b) VALUES('A01','无','01')
INSERT temp2(p_id,p_a,p_b) VALUES('A01','无','02')
INSERT temp2(p_id,p_a,p_b) VALUES('A02','无','无')
INSERT temp2(p_id,p_a,p_b) VALUES('A02','无','01')
INSERT temp2(p_id,p_a,p_b) VALUES('A02','无','02')

我要的结果是: (即表1对应p_id,p_a,p_b 没有在表2存在的)
A01  红  无
A02  黑  无

通过后,马上结帐
[解决办法]
select * from temp2 EXCEPT select * from temp1
[解决办法]
2000的确没有except,一般是用exists来实现:


SELECT *
FROM temp1 a
WHERE NOT EXISTS (SELECT 1 FROM temp2 b WHERE a.p_id=b.p_id AND a.p_a=b.p_a AND a.p_b=b.p_b 
)

热点排行