以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  SQL联合查询语句生成问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=67860)

--  作者:a87918021
--  发布时间:2015/5/5 11:18:00
--  SQL联合查询语句生成问题
我的订单号和单位名称是两列,只是单位名称有两行以上应收和应付的区别。我想生成3列以上,比如订单号,单位名称1,单位名称2.....


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150505111035.png
图片点击可在新窗口打开查看

left join -  inner join - right join  - left outer join  - union.....

尝试过用unionl连接成功的,但只有两列,

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

--  作者:大红袍
--  发布时间:2015/5/5 11:22:00
--  

sql1 改成

 

sql1 = "select a.订单号, 单位2, 单位1"


--  作者:a87918021
--  发布时间:2015/5/5 11:39:00
--  
按大红的方法,我试过以下方法图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看
以下内容为程序代码:

1 sql1 = "select a.订单号, 单位2, 单位1"
2 sql1 = "select a.订单号, b.单位名称 As 单位1,c.单位名称 As 单位2 "
3 sql1 = "select a.订单号, b.单位名称 As 单位1,单位2 "



--  作者:a87918021
--  发布时间:2015/5/5 11:40:00
--  
Select语句执行错误,请检查语法及数据源设置。


--  作者:大红袍
--  发布时间:2015/5/5 11:41:00
--  

  那你就写成,肯定有效,没效请上传具体例子。

 

sql1 = "select *"


--  作者:a87918021
--  发布时间:2015/5/5 11:42:00
--  
拼起来的完整语句是酱紫的:
以下内容为程序代码:

1 赛勒特 a.订单号,b.单位名称 As 单位1,单位2 from {订单主表} AS a LEFT JOIN {订单明细表} AS b ON a.订单号 = b.订单号 WHERE 收付 = \'应收\' UNION 赛勒特 a.订单号,b.单位名称 As 单位2 from {订单主表} AS a LEFT JOIN {订单明细表} AS c ON a.订单号 = c.订单号 WHERE 收付 = \'应付\' AND 单位名称 <> \'单证\'

发一段代码真累,怎么都发不上来。这种外部数据库例子怎么做的? 
[此贴子已经被作者于2015/5/5 11:47:15编辑过]

--  作者:大红袍
--  发布时间:2015/5/5 11:45:00
--  

 不要用union啊,用 Inner join 啊

 

 再看5楼,试试吧,肯定没问题