以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLJoinTableBuilder 报语法错误。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49233)

--  作者:ndxfke
--  发布时间:2014/4/14 20:28:00
--  SQLJoinTableBuilder 报语法错误。

一直没把这个  SQLJoinTableBuilder 弄明白。但总不能使用不会就回避。

 

以下例子,报语法错误。翻来覆去弄不好,请大神指正。

 

目的是,想通过{生产订单产品表}和{项目产品表}的项目编码、产品名称建立关联。

取以下字段的值,生成一个临时表。

 

代码:

    Dim jb As new SQLJoinTableBuilder("生产订单查询临时表","项目产品表")
    jb.ConnectionName = _ServerName
    jb.Filter = "项目编码 = \'"&  np.ParentNode.Name & "\' and 订单编号 = \'" & np.Name & "\'"
    jb.addtable("生产订单产品表","{生产订单产品表}.项目编码","项目产品表","{项目产品表}.项目编码")
    jb.addtable("生产订单产品表","{生产订单产品表}.产品名称","项目产品表","{项目产品表}.产品名称1")
    jb.AddCols("{项目产品表}.项目编码","订单编号","产品名称","数量","下单数","未下单数")
    jb.Build

 

 

 

生成的SQL语句,但sql我不大会。

---------------------------
Select  {项目产品表}.项目编码,订单编号,产品名称,数量,下单数,未下单数 From ({项目产品表} Inner JOIN {项目产品表} ON {项目产品表}.[{项目产品表}.项目编码] = {生产订单产品表}.[{生产订单产品表}.项目编码]) Inner JOIN {项目产品表} ON {项目产品表}.[{项目产品表}.产品名称1] = {生产订单产品表}.[{生产订单产品表}.产品名称] Where 项目编码 = \'LX-201403-001\' and 订单编号 = \'8800000004\'
---------------------------

 

 


--  作者:有点甜
--  发布时间:2014/4/14 20:57:00
--  

 你语法错了

 

 

如果要根据多列关联,请参考:

 

Dim jb As New SQLJoinTableBuilder("统计表1","产品")
Dim
Cols1() As String = {"型号","规格"}
Dim
Cols2() As String = {"型号","规格"}
jb.AddTable(
"产品",Cols1,"订单"
,Cols2)