以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  这个SQL怎么写?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=101484)

--  作者:goldenfont
--  发布时间:2017/6/1 11:59:00
--  这个SQL怎么写?
各位老师:这个sql怎么写?

一个产品表(产品ID,产品基本售价),一个产品特殊售价表(产品ID,客户ID,特殊售价),一个客户表(客户ID,客户名称),我想表达出来某个客户下的针对所有产品的价格,如果产品没有特殊售价,就显示产品表里的基本售价,有则显示特殊售价,这个针对某个客户ID下如何列出所有的产品ID及售价(这个售价可能是基本的,可能是特殊的),怎么写啊?

客户1  产品1  0.8 (基本售价,来源于产品表)
客户1  产品2  0.9  (特殊售价,来源于产品特殊售价表,基本表里的特殊价格可能是0.5)

--  作者:有点色
--  发布时间:2017/6/1 12:03:00
--  

 三个表做连接查询就可以了

 

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

 

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

 


--  作者:goldenfont
--  发布时间:2017/6/1 12:11:00
--  
咋连啊,没搞明白啊,连了半天得不到我要的结果
--  作者:有点色
--  发布时间:2017/6/1 12:39:00
--  
  用产品id 和 客户id分别连接。不会做上传具体实例。
--  作者:goldenfont
--  发布时间:2017/6/1 13:22:00
--  
我想点击每个客户,把所有产品的列表列出来,如果有特殊价格,则显示特殊价格,否则显示基础价格
--  作者:goldenfont
--  发布时间:2017/6/1 13:26:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


--  作者:有点色
--  发布时间:2017/6/1 14:39:00
--  

 直接筛选查询表

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:goldenfont
--  发布时间:2017/6/1 15:00:00
--  
嗯,可以实现我要的效果了,但是问一下老师,这个是用sql语句来做的,用帮助里的SQLJoinTableBuilder能实现这个功能吗?如果可以,应该怎么写呢?
--  作者:有点色
--  发布时间:2017/6/1 15:47:00
--  

 不能用SQLJoinTableBuilder实现。

 

 如果想动态生成,你可以用sql语句处理 select * from {产品表} as a left join (select * from {产品特殊价格表} where 客户id = \'k001\') as b on a.产品id = b.产品id