以文本方式查看主题

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

--  作者:ljh29206
--  发布时间:2017/4/8 9:12:00
--  sql语句请教
Dim dt As DataTable
Dim sql As new SQLCommand
sql.Connection  Name = "test"
sql.Command   Text = "s elect 品种, count(编号) as 箱数 from 库存明细表  where 编号 is not null group by 品种  "
dt = sql.ExecuteReader()

如何 把生成的 dt 表 连接到 基础数据, 把基础数据的 品种 收容数 提起出来,生成一个表,以下语句报错. 求帮助

Dim sqlstr As String = " S elect  dt.*基础数据.收容数 , 基础数据.收容数 * dt.箱数 as 总数量  from 基础数据  INNER JOIN dt  on 基础数据.品种 = dt.品种 "
Tables("计划管理_Table8").Fill(sqlstr,False)
[此贴子已经被作者于2017/4/8 10:03:25编辑过]

--  作者:有点蓝
--  发布时间:2017/4/8 9:24:00
--  
临时表无法在sql中使用

没有必要画蛇添足,2句代码就可以,前提是基础数据也是同一个数据源的

Dim sqlstr As String = " Select  dt.* , 基础数据.收容数 , 基础数据.收容数 * dt.箱数 as 总数量  form 基础数据  INNER JOIN (select 品种, count(编号) as 箱数 from 库存明细表  where 编号 is not null group by 品种) as dt  where 基础数据.品种 = dt.品种 "
Tables("计划管理_Table8").Fill(sqlstr,"test",False)

如果不是同一个数据源的,只能这样