table A(int aid,string aname)
table B(int bid,int cid,string bname)
table C(int cid,string cname)
table D(int did,int aid,int bid)表A,B,C,D第一列都是主键求个sql语句
当did=XXX时
select出如下的行集
(did,aname,bname,cname)
table B(int bid,int cid,string bname)
table C(int cid,string cname)
table D(int did,int aid,int bid)表A,B,C,D第一列都是主键求个sql语句
当did=XXX时
select出如下的行集
(did,aname,bname,cname)
inner join a on d.aid=a.aid
inner join b on d.bid=b.bid
inner join c on c.cid=b.cid
from A,D,
(
select B.bid,B.bname,C.cname
from B,C
where B.cid=C.cid
) T
where A.aid=D.aid
and B.bid=D.bid
1.是问一下scmail81
(
select B.bid,B.bname,C.cname
from B,C
where B.cid=C.cid
) T
是什么意思?就是成一个名叫T的临时表吗,在SQLSERVER的联机文档中哪里能查得关于这个的内容?
2.再问一个更复杂一点的table B(int bid,int cid)
table C(int cid,int price)
table D(int did,int bid,price)表B,C第一列都是主键求个sql语句
当did=XXX时
select出如下的行集
(did,price) 并且是group by did的,并把price sum()起来,这个应该怎么编
from D
inner join A on D.aid=A.aid
inner join
(
select B.*,C.cname from B inner join C on B.cid=C.cid
)t
on D.bid=t.bid
=====================================
select did,sum(D.price),sum(t.price)
from D
inner join
(
select B.*,C.price from B inner join C on B.cid=C.cid
)t on D.bid=T.bid
where did=XXX
group by did
不知道要哪個price sum