求一个SQL合并两张表

b1ck978 2009-02-02 04:31:07
两张表t1, t2:

t1:

ID 姓
0 张
1 王

t2:

ID 名
0 三
1 四

求一个SQL得到一个记录集r1

r1:

ID 姓 名 姓名
0 张 三 张三
1 王 四 王四
...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-02-02
  • 打赏
  • 举报
回复
select id,姓,姓 as 姓名
from t1
where Flag=false
union all
select t1.id,t1.姓,t1.姓 & t2.名
from t1 inner join t2 on t1.id=t2.id
order by 1,2,3





QQ群 48866293 / 12035577 / 7440532 / 13666209
https://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
b1ck978 2009-02-02
  • 打赏
  • 举报
回复
谢谢再进一步问一个:

t1:

ID 姓 Flag
0 张 FALSE
1 王 FALSE
2 赵 FALSE
3 钱 TRUE

t2:

ID 名
0 三
1 四
2 五
2 六
3 七
3 八

求一个SQL得到一个记录集r1

r1:

ID 姓 姓名
0 张 张
0 张 张三
1 王 王
1 王 王四
2 赵 赵
2 赵 赵五
2 赵 赵六
3 钱 钱七
3 钱 钱八



即Flag为FALSE的姓在记录集的姓名字段先显示出来,然后依次显示姓名;
Flag为TRUE的姓不必先显示出来,直接显示姓名。
ACMAIN_CHM 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 WWWWA 的回复:]
假设T1、T2两表ID对应且是完整:
select a.*,b.名,a.姓 & b.名 from t1 a left join t2 b on a.id=b.id
[/Quote]


照此即可。
或者

select t1.*,t2.名,t1.姓 & t2.名 from t1 inner join t2 on t1.id=t2.id









QQ群 48866293 / 12035577 / 7440532 / 13666209
https://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .

WWWWA 2009-02-02
  • 打赏
  • 举报
回复
假设T1、T2两表ID对应且是完整:
select a.*,b.名,a.姓 & b.名 from t1 a left join t2 b on a.id=b.id

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧