以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  几个表的查询数据如果竖向显示出来?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130942)

--  作者:happyft
--  发布时间:2019/2/12 14:24:00
--  几个表的查询数据如果竖向显示出来?

图片点击可在新窗口打开查看此主题相关图片如下:tim截图20190212140524.jpg
图片点击可在新窗口打开查看

如上图,数据分别来源于3个sql查询语句,
select 产品编码,库存数量,仓库名称 from 库存表  where 产品编码 = \'A001\'
select 产品编码,采购在线,交货日期 from 采购在线表 where 产品编码 = \'A001\'
select 产品编码,请购在线,请购日期 from 请购在线表 where 产品编码 = \'A001\'

现在的做法是,在窗口表中按上述各字段生成空的临时表,先查询其中某一个表中的数据新增行,填充对应字段到窗口表中,然后再查询第二个表的数据,遍历从第一行开始按字段填充,不够行的增加行,以此类推,想请教一下,
有没有办法通过一个sql语句一次性查询三个表的数据直接绑定到窗口表中就得到图中所示的数据?谢谢!


--  作者:有点甜
--  发布时间:2019/2/12 14:56:00
--  

没有方法直接生成的。

 

方法一:http://www.foxtable.com/webhelp/scr/2305.htm

 

方法二:每个sql语句加入 row_number,然后根据rown_number连接起来


--  作者:HappyFt
--  发布时间:2019/2/12 16:16:00
--  
如果用方法二应该用什么连接?
如果用left join,因为不同的产品编码可能三个查询中得到的记录数是不确定的,有时多,有时少,那不是还要先判段哪个查询中的数据多才作为第一张表然后left join其他两张表

--  作者:有点甜
--  发布时间:2019/2/12 16:19:00
--  

 

连接,不是可以用 full join ?