三表查询 40oyt111745]

发布时间:2016-12-11 0:55:20 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"三表查询 40oyt111745]",主要涉及到三表查询 40oyt111745]方面的内容,对于三表查询 40oyt111745]感兴趣的同学可以参考一下。

表1 goods  --记录商品名 goodid 为主键 goodid  goodname     1      name1    2      name2    3      name3    4      name4    5      name5    6      name6 表2 shopgoods goodid  shopid goodnum    1       1      15    2       1      19    3       1      18    4       1      21    6       1      17 goodsid为外键引用 表3 whogoods  goodid   whoid  price    1      1     3.00    3      1     4.00    4      1     2.50 goodsid为外键引用 现在要求找出表二中数量少于20的商品名和id(满足shopid=1),同时显示该商品记录在表三中的价格(满足whoid=1),如果表三中没有该商品,则显示价格为0.00,在线等。 求答案。

select t1.goodname,isnull(t3.price,0.00) from goods t1 left join shopgoods t2 on t1.goodid=t2.goodid left join whogoods t3 on t1.goodid=t3.goodid where t2.shopid=1 and t3.whoid=1

and t2.goodnum<20

SELECT GOODNAME,B.GOODID,(CASE WHEN PRICE IS NULL THEN 0 ELSE PRICE) AS PRICE  FROM SHOPGOODS B LEFT JOIN WHOGOODS C ON B.GOODID=C.GOODID LEFT JOIN GOODS A ON B.GOODID=A.GOODID WHERE GOODNUM<20 AND SHOPID=1 AND WHOID=1

表1 goods --记录商品名 goodid 为主键 goodid goodname     1 name1   2 name2   3 name3   4 name4   5 name5   6 name6 表2 shopgoods goodid shopid goodnum   1 1 15   2 1 19   3 1 18   4 1 21   6 1 17 goodsid为外键引用 表3 whogoods   goodid whoid price   1 1 3.00   3 1 4.00   4 1 2.50 goodsid为外键引用 现在要求找出表二中数量少于20的商品名和id(满足shopid=1),同时显示该商品记录在表三中whoid=1的价格如果表三中whoid=1的用户没有该商品,则显示价格为0.00。 求答案。 问题补充: 也就是说:不管表三中有没有该商品,数量少于20的商品始终都是要显示的。只是价格会因为 whoid的改变而改变。

select a.goodid,a.goodnum ,        case when b.price is null then 0.00 else b.price  end as price  from    (select goodid, shopid ,goodnum from shopgoods where shopid=1 and goodnum<20) a    left join whogoods b on a.goodid = b.goodid and b.whoid = 1

select a.goodid,b.goodname,isnull(c.price,0) price from shopgoods  a join goods b  on a.goodid=b.goodid  left join whogoods  c  on a.goodid=c.goodid  where a.shopid=1 and c.whoid=1

上一篇:读取XML风格的文件(急救) 50分,无满意结帖,结帖人solonet]
下一篇:关于下面SQL语句肯能产生的错误,求指点 100sardineany]

相关文章

相关评论