中国大学化工专业排名:SQL多表查询请教~~~~~~

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/07 13:15:53
现有三个表,需串表查询

A.编号,A.名称,A.规格
B.编号,B.名称,B.用量
C.名称,B.单价

A.B.表中编号,名称一样
A.C.表中名称一样

现需查询A.编号,A.名称,A.规格,B.用量,C.单价

表的结构不改变的前提下,请问该如何写SQL语句!?????
谢谢大家的帮助~~~~~~

另说漏了一点,A.编号是等于"条件"

该怎么办???

select A.编号,A.名称,A.规格,B.用量,C.单价 from A,B,C
where A.编号=B.编号 and A.名称=B.名称 and A.名称=C.名称

这个查询得考虑当A、B、C三个表中内容不能完全匹配的情况,即是A表中有而B表中没有的,该用什么样的规则显示,如果全都显示的话应该是
SELECT A.编号, A.名称, A.规格, B.用量, C.单价
FROM A FULL OUTER JOIN
C ON A.名称 = C.名称 FULL OUTER JOIN
B ON A.编号 = B.编号

如果以A表为基准的话,可以把Full Outer换成Inner
并且这样设计表也需要判断是否有空值
ISNULL(B.用量,0), ISNULL(C.单价,0)

说实话,感觉这个表设计的问题太大了,还是调整一下数据表结构吧

同意rarnu的,如果A.编号是等于"条件",就加一句

select A.编号,A.名称,A.规格,B.用量,C.单价 from A,B,C
where A.编号=B.编号 and A.名称=B.名称 and A.名称=C.名称 and A.编号=你的条件