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

求两表查询sql语句,该如何处理

2012-03-01 
求两表查询sql语句根据Category查询a,b两表,要求Category相同,aID和bID相同的放同一行,aID有的bID没有就bI

求两表查询sql语句
根据Category查询a,b两表,要求Category相同,aID和bID相同的放同一行,aID有的bID没有就bID为空,bID有的aID没有,就aID为空,如下查询Category为x的数据

a:                                                     b:

aID       Category                             bID               Category
1                 x                                       1                       x
2                 x                                       2                       x
3                 x                                       3                       x
4                 x                                       7                       x
5                 x                                       8                       x                                
6                 x                                       9                       x
9                 y                                       10                     y
11               y                                       11                     y

得到表
c:

aID       bID               Category
1             1                       x
2             2                       x
3             3                       x
4             null                 x
5             null                 x
6             null                 x


null       7                       x
null       8                       x
null       9                       x




[解决办法]
是用FULL JOIN,不過是這麼寫的

Select
A.aID,
B.bID,
IsNull(A.Category, B.Category) As Category
From
A
Full Join
B
On A.aID = B.bID And A.Category = B.Category
Where IsNull(A.Category, B.Category) = 'x '
Order By IsNull(A.aID, B.bID)

热点排行