以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  多表查询的查询条件写在哪?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=113107)

--  作者:czy66ds
--  发布时间:2018/1/9 14:17:00
--  多表查询的查询条件写在哪?
以帮助的三表查询为例

SELECT 订购日期, {订单明细}.*, 产品名称 F ROM ({订单明细} INNER JOIN {产品} ON {订单明细}.产品ID = {产品}.产品ID) INNER JOIN {订单} ON {订单明细}.订单ID = {订单}.订单ID ORDER BY 订购日期

如果想加上条件: where 1 = 2 写在何处?

又如 查询条件写在字符串里:

dim filter as string 

filter = "xxx"

那么filter加在何处?如何写?


--  作者:czy66ds
--  发布时间:2018/1/9 14:27:00
--  
例如,我写成这样报错:
tables("窗口1_table1).fill("SELECT 订购日期, {订单明细}.*, 产品名称 F ROM ({订单明细} INNER JOIN {产品} ON {订单明细}.产品ID = {产品}.产品ID) INNER JOIN {订单} ON {订单明细}.订单ID = {订单}.订单ID ORDER BY 订购日期 where " & filter ,数据源,true)

tables("窗口1_table1).fill("SELECT 订购日期, {订单明细}.*, 产品名称 F ROM ({订单明细} INNER JOIN {产品} ON {订单明细}.产品ID = {产品}.产品ID) INNER JOIN {订单} ON {订单明细}.订单ID = {订单}.订单ID ORDER BY 订购日期 where 1=2 " ,数据源,true)

--  作者:有点甜
--  发布时间:2018/1/9 15:03:00
--  

就是你那样写

 

tables("窗口1_table1).fill("SELECT 订购日期, {订单明细}.*, 产品名称 F ROM ({订单明细} INNER JOIN {产品} ON {订单明细}.产品ID = {产品}.产品ID) INNER JOIN {订单} ON {订单明细}.订单ID = {订单}.订单ID ORDER BY 订购日期 where " & filter ,数据源,true)

 

然后处理你filter即可。

 

filter = iif(filter>"", filter,  "1=2")

 

具体问题,上传实例说明。