我这有两个表D1和D2,D1中有d1字段,D2中有d2字段,d1中有些是和d2相同,我想在D1中找出不同的记录,该怎么编写SQL语句。
解决方案 »
- 关于主从表更新的问题
- 能不能修改默认的计算小数位?
- 执行从查询语句中,直接显示出20行记录?
- 请教一下关于字符串的变量存储过程(在线等)
- 做一个去掉约束和外键的存储过程,发现结果不对,object_name()是否取当前数据库的值?
- MySQL 存储过程 急!!!在线等
- 某一列乘,謝謝!
- 一定进来看看,sqlserver2005 SSRS 访问oracle的问题
- 我想获取表中符合当前周的记录,
- 高难动作?求教高手WHERE子句中使用存储过程的返回结果
- An INSERT EXEC statement cannot be nested.问题
- 数据库中表table ,tid是外键,其中有'01’,'02’...等值。删除掉非01,02关联的所有值。
你写的我看下,没错就结贴
(
SELECT d1 FROM D1
UNION ALL
SELECT d2 FROM D2
) a
GROUP BY d1
HAVING COUNT(*) = 1
declare @D1 table (D1 int)
insert into @D1
select 1 union all
select 2 union all
select 3 union all
select 4declare @D2 table (D2 int)
insert into @D2
select 2 union all
select 3 union all
select 5 union all
select 6SELECT a.* FROM @D1 a LEFT JOIN @D2 b ON a.D1=b.D2
WHERE b.D2 IS NULL
/*
D1
-----------
1
4
*/
select d1 from tb_D1
except
select d2 from tb_D2
INSERT INTO D1
SELECT 1 UNION ALL
SELECT 2CREATE TABLE D2(d2 INT)
INSERT INTO D2
SELECT 2 UNION ALL
SELECT 3--select distinct D1.d1 from D1,D2 WHERE D1.d1<>D2.d2 语句的执行步骤
SELECT * FROM D1,D2 --A
SELECT * FROM (SELECT * FROM D1,D2)A WHERE d1 <> d2 --B
SELECT DISTINCT d1 FROM (SELECT * FROM (SELECT * FROM D1,D2)B WHERE d1 <> d2)C --C
SELECT COLUMNS FROM D1 WHERE NOT EXSITS (
SELECT 1 FROM D2 WHERE D1.d1 = D2.d2
)