SQL如何将多个查询结果合并显示
问题描述:
SqlServer中,有三张不想管的表,表1 名A,表2 名 B,表3 名 C,三个表都有不同的字段,如表A(fid,fname)里面有10条数据,表B(fdept,fse)里面有5条数据,表C(order,fter,cluse)里面有15条数据,
现在有三个查询语句,SELECT * FROM A;查询出10条数据;
SELECT * FROM B 查询出5条数据;
SELECT * FROM C查询出15条数据;
我要如何将这三个查询出的数据合并成行的样子显示,如A.FID,A.FNAME,B.FDEPT,B.FSE,C.ORDER,C.FTER,C.CLUSE这样,就是给她将这些三个不同的结果集放一起,他们有多少条数据就显示多少条,
请问这个SQL要怎么写
答
一种思路给你,首先分析问题想没有任何关联的字段都展示在一行(对这样的需求存疑哪有这样的,老牛非要和老马拴在一起给人看),并且还会有多行
(1)缺少join的字段就给它加个
(2)多行的join,那join的数据一定是一一对应的,不能都长一个样,所以生成的join字段数据需要加序号
A(fid,fname)
1, a
2, b
SELECT a.* 'j' AS j FROM a。结果就是如下,多出了个j字段用来连接
fid,fname,j
1, a,j
2, b,j
其他表同理。这里由于多行拼接,当然不能每行结果直接是'j',需要加个序号比如j1 j2这样的