以文本方式查看主题 - 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 --
|
||||
-- 作者:有点色 -- 发布时间:2017/6/1 14:39:00 -- 直接筛选查询表
|
||||
-- 作者: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 |