以文本方式查看主题

-  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=108401)

--  作者:blsu33
--  发布时间:2017/10/22 9:15:00
--  [求助]生成的SQL查询表
老师,
   系统中有有很多表,想要随意两个表都能生成的SQL查询表,并且包含两个表的所有数据,如何实现。

--  作者:有点甜
--  发布时间:2017/10/22 18:34:00
--  

 参考

 

http://www.foxtable.com/webhelp/scr/2322.htm

 


--  作者:blsu33
--  发布时间:2017/10/22 18:50:00
--  
老师,
帮助文档的内容清楚
用上面帮助文档的例子我的意思


拿帮助文档的例子,查询出来的是 产品ID = 订单明细ID 这个条件的所有数据

我的意思是 包含两个表的所有数据,那些 产品ID <> 订单明细ID  也要 如何实现 

或者 说 条件 产品ID = 订单明细ID 已经不是必须的 总之是 要两个表的全部数据在一张表上
[此贴子已经被作者于2017/10/22 18:51:35编辑过]

--  作者:有点甜
--  发布时间:2017/10/22 19:43:00
--  

如何展示在一张表里面?表A有3列10行,表B有三列5行,最后得到的查询表是怎样的?


--  作者:blsu33
--  发布时间:2017/10/22 19:52:00
--  
6列(不包括系统列) 15行就对了
--  作者:有点甜
--  发布时间:2017/10/22 20:20:00
--  
Dim dt1 As DataTable = DataTables("表A")
Dim dt2 As DataTable = DataTables("表B")
Dim sql As String = ""
Dim s1,s2 As String
For Each dc As DataCol In dt1.datacols
    If dc.Expression = "" Then
        s1 &= dc.name & ","
        s2 &= "\'\' as " & dc.name & ","
    End If
Next
For Each dc As DataCol In dt2.datacols
    If dc.Expression = "" Then
        s1 &= "\'\' as " & dc.name & ","
        s2 &= dc.name & ","
    End If
Next
sql &= "select " & s1.trim(",") & " from {" & dt1.name & "}"
sql &= " union all Select " & s2.trim(",") & " from {" & dt2.name & "}"
output.show(sql)

--  作者:blsu33
--  发布时间:2017/10/22 22:07:00
--  

UNION运算符用于组合两个查询的结果。

两个查询的字段名称、个数、类型必须完全一致才行。

上述 代码好像解决了这个问题


这里还需要指定 列名对应来源哪个 表吗

[此贴子已经被作者于2017/10/22 22:16:59编辑过]

--  作者:有点甜
--  发布时间:2017/10/22 22:19:00
--  
 回复7楼,最好还是指定表名_列名,不然你引用的时候,有可能列名重复。
--  作者:blsu33
--  发布时间:2017/10/22 22:23:00
--  

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

--  作者:blsu33
--  发布时间:2017/10/22 22:24:00
--  
老师,
上图 为何筛选条件不成功 为什么呢?

列名 expr100 是不是没有加表名造成的?

[此贴子已经被作者于2017/10/22 22:25:00编辑过]