ASP.NET如何做同一数据库中两个结构相同数据库表的数据对比
最好能有这样的显示:
A B
| A | | B |
| 中 | | 中 |
| B | | A |
| 没 | | 没 |
| 有 | | 有 |
| 的 | | 的 |
做到一目了然的对比效果,请求高手指教
最好能有这样的显示:
A B
| A | | B |
| 中 | | 中 |
| B | | A |
| 没 | | 没 |
| 有 | | 有 |
| 的 | | 的 |
做到一目了然的对比效果,请求高手指教
Create Table #A
(
id int identity(1,1),
AName nvarchar(50),
BName nvarchar(50)
)
Create Table #B
(
id int identity(1,1),
AName nvarchar(50),
BName nvarchar(50)
)
insert into #A
select 'A1','A1' union
select 'A2','A2' union
select 'A3','A3' union
select 'A4','A4' union
select 'A5','A5' union
select 'A6','A6' union
select 'A7','A7' insert into #B
select 'A1','A1' union
select 'A2','A2' union
select 'A3','A3' union
select 'A4','A4' union
select 'A5','A5' union
select 'A8','A8' union
select 'A9','A9' SELECT c.*,
case isnull(a.id,'') When '' Then '无' ELSE '有' END A,
case isnull(b.id,'') When '' Then '无' ELSE '有' END B
FROM (Select * from #A
union
SELECT * FROM #B) c
LEFT JOIN #A a ON a.AName=c.AName AND a.BName=c.BName
LEFT JOIN #B b ON b.AName=c.AName AND b.BName=c.BNameDROP TABLE #A
DROP TABLE #B1 A1 A1 有 有
2 A2 A2 有 有
3 A3 A3 有 有
4 A4 A4 有 有
5 A5 A5 有 有
6 A6 A6 有 无
6 A8 A8 无 有
7 A7 A7 有 无
7 A9 A9 无 有