猿问

SQL文,将多行信息在一行里显示

我僵硬的实现了需求,但是肯定有更好的写法,求指教。
下边的3个表内容是我随意写的,表设计的实际合理性请无视。
关于SQL文运行环境问题,各位的答案任何数据库都可以,我自己脑补成我需求的环境文法就可以了。
需求:
一件商品的所有表信息在一行里表示
表:
table1
商品ID(PK),商品名,价格,规格
table2
商品ID(PK),供应商(PK),供货日期,保存时间
table3
商品ID(PK),责任担当,部门
条件:
供应商固定有4个(a,b,c,d),每个商品ID都由4个供应商同时供应。
我现在的写法:
SELECT
t1.商品ID,t1.商品名,t1.价格,t1.规格,
t3.责任担当,t3.部门,
ta.供应商供应商a,ta.供货日期供货日期a,ta.保存时间保存时间a,
tb.供应商供应商b,tb.供货日期供货日期b,tb.保存时间保存时间b,
tc.供应商供应商c,tc.供货日期供货日期c,tc.保存时间保存时间c,
td.供应商供应商d,td.供货日期供货日期d,td.保存时间保存时间d
FROM
table1t1,
table3t3,
(SELECT商品ID,供应商,供货日期,保存时间FROMtable2WHERE供应商=a)ta,
(SELECT商品ID,供应商,供货日期,保存时间FROMtable2WHERE供应商=b)tb,
(SELECT商品ID,供应商,供货日期,保存时间FROMtable2WHERE供应商=c)tc,
(SELECT商品ID,供应商,供货日期,保存时间FROMtable2WHERE供应商=d)td
WHERE
ta.商品ID=t1.商品IDANDta.商品ID=t3.商品IDANDta.商品ID=tb.商品IDANDta.商品ID=tc.商品IDANDta.商品ID=td.商品ID
不负相思意
浏览 544回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答