以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  变量  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132001)

--  作者:qinjh18935180888
--  发布时间:2019/3/11 15:41:00
--  变量
\'cmd.CommandText = "Sele   ct {\'" & dt1.Name & "\'}.申请编号 ,借款金额 from { \'" & dt1.Name & "\'} left join  \'" & dt2.Name & "\'  on {\'" & dt1.Name & "\'}.申请编号 = {\'" & dt2.Name & "\'}.申请编号"


老师:这个怎样写?

--  作者:有点甜
--  发布时间:2019/3/11 16:00:00
--  

1、你的dt1、dt2,不能是临时表、查询表,必须是数据库里面真实存在的表,才能写sql语句。

 

2、你弹出合成的sql语句看看,看是否正确。


--  作者:qinjh18935180888
--  发布时间:2019/3/11 16:24:00
--  
不行。
还有一个问题:办公系统里的一个表,没有设置独占式编缉,经常发现有数据行丢失,这有没有直接关系?

--  作者:qinjh18935180888
--  发布时间:2019/3/11 16:52:00
--  
cmd.CommandText = "sele   ct 申请编号,sum(费用金额) as 费用金额 from {报销明细} where 申请编号 in (sele  ct distinct 申请编号 from {费用申请表} where 项目编号 not like \'%省公司%\' " &  _
"And 发票编号 = \'暂无编号\' and 进度 = \'6B\')  and 是否提交 = \'1\' and  项目编号 not like \'%省公司%\' group by 申请编号"
dt1 = cmd.ExecuteReader


cmd.CommandText = "sele ct 申请编号,sum(借款金额) as 借款金额 from {暂无发票借款登记表} where 申请编号 in " & _
"(Sele  ct 申请编号 from {报销明细} where 申请编号 In (Sele  ct 申请编号 from {费用申请表} where 项目编号 not Like \'%省公司%\' and 发票编号 = \'暂无编号\' and 进度 = \'6B\') " & _
" and 是否提交 = \'1\' and  项目编号 not like \'%省公司%\') group by 申请编号"
dt2 = cmd.ExecuteReader


哪这两个表的数据怎样合在一起。

--  作者:有点甜
--  发布时间:2019/3/11 17:01:00
--  

假如有两个sql语句,如 sql1、sql2,要连接两个表,这样写

 

select * from (sql1) as a inner join (sql2) as b on a.某列=b.某列


--  作者:qinjh18935180888
--  发布时间:2019/3/13 16:04:00
--  
sele  ct * from (sql1) as a union (sql2) as b on a.某列=b.某列
老师:有没有这样的句子?

--  作者:qinjh18935180888
--  发布时间:2019/3/13 16:07:00
--  
会了
sele  ct * from (sql1) as a union (sql2) as b on a.某列=b.某列

改为:sql1 union (sql2) 



--  作者:有点甜
--  发布时间:2019/3/13 16:34:00
--  

1、你sql1、sql2的列的个数,需要一样。

 

2、sql语句改成

 

(sql1) union All (sql2)