有3个表:Ta,Tb,Tc
想根据表Tc.username来确定Ta和Tb中的记录,
表Ta中有字段Ta.username,Ta.age
表Tb中也有字段Tb.username,Tb.sex我现在想取,Tc中username='我' 的Ta.age, 和 Tb.sex
如:select Tc.id,
(SELECT age FROM Ta WHERE username='我' ) AS age,
(SELECT sex FROM Tb WHERE username='我') AS sex
from Tc
where Tc.username='我'
这SQL 语句要怎么写啊?注:Tc.id 必选
想根据表Tc.username来确定Ta和Tb中的记录,
表Ta中有字段Ta.username,Ta.age
表Tb中也有字段Tb.username,Tb.sex我现在想取,Tc中username='我' 的Ta.age, 和 Tb.sex
如:select Tc.id,
(SELECT age FROM Ta WHERE username='我' ) AS age,
(SELECT sex FROM Tb WHERE username='我') AS sex
from Tc
where Tc.username='我'
这SQL 语句要怎么写啊?注:Tc.id 必选
--try
select C.id, A.age, B.sex
from Tc C
left join Ta A on C.username=A.username
left join Tb B on C.username=B.username
where C.username='我'
应该是这样:
----------
有2个表
Tb,Tc
-----------
字段Tb: Tb.b1,Tb.b2,Tb.b3
Tc: Tc.c1,Tc.c2,Tc.c3
---------
要
select Tc.c1, (这里根据Tc.c2=Tb.b2 取出Tb1和Tb3)
from Tc
where Tc.c3='我'然后结果的记录集里是
c1,b2,b3 的值
select C.c1, B.b1, B.b3
from Tc C join Tb B on C.c2=B.b2
where C.c3= '我'
Ta,Tb,TcTa: Ta.a1,Ta.a2,Ta.a3
Tb: Tb.b1,Tb.b2,Tb.b3
Tc: Tc.c2,Tc.c2,Tc.c3其中 Ta.a1是Tc.c2的外键,Tc.c3保存的是Tb的主键值。想选择 Tc.c2="某一确定值" 的所有Tc的记录,这时记录集:
c1,c2,c3
.
.
.
想再根据此记录集里的每一个c2的值去取Ta.a2;
根据c3的值去取Tb.b2
即:c1,c2=Ta.a2,c3=Tb.b2
.
.
.最后获得的记录集里的字段是:
c1,a2,b2
from ta,tb
where ta.username = tb.username
and ta.username in (select username from tc where username = '我')简单点的如下select ta.age,tb.sex
from ta,tb
where ta.username = tb.username and ta.username = '我'
如: select Tc.id,
(SELECT age FROM Ta WHERE username= '我 ' ) AS age,
(SELECT sex FROM Tb WHERE username= '我 ') AS sex
from Tc
where Tc.username= '我 '
这SQL 语句要怎么写啊? ---------------select t1.id,t2.age,t3.sex
from tc t1 left join ta t2 on t1.关键字=t2.关键字
left join tb t3 on t2.关键字=t3.关键字
where t1.username='我'
SELECT TOP 100 PERCENT oid, ztid,
(SELECT mxtype FROM dbo.Tzt WHERE (tZtID = dbo.Tsc.ztid)) AS mxtype,
(SELECT otitle FROM dbo.Tzt WHERE (tZtID = dbo.Tsc.ztid)) AS otitle,
(SELECT Mend FROM dbo.Tzt WHERE (tZtID = dbo.Tsc.ztid)) AS Mend,
(SELECT dtime FROM dbo.Tzt WHERE (tZtID = dbo.Tsc.ztid)) AS dtime,
(SELECT userNC FROM dbo.Tuser WHERE (
tUserID = (SELECT dbo.Tzt.userid FROM dbo.Tzt WHERE (tZtID = dbo.Tsc.ztid)))
) AS userNC
FROM dbo.Tsc
WHERE (userid = 2)
ORDER BY oid
FROM dbo.Tsc,tzt a,tuser b
WHERE userid = 2 and tsc.ztid=a.ztid and a.userid=b.tuserid
ORDER BY oid
SELECT TOP 100 PERCENT dbo.Tsc.oid, dbo.Tsc.ztid, dbo.Tzt.mxtype, dbo.Tzt.otitle, dbo.Tzt.Mend, dbo.Tzt.dtime, dbo.Tuser.tUserID, dbo.Tuser.userNC
FROM dbo.Tsc, dbo.Tzt, dbo.Tuser
WHERE (dbo.Tsc.userid = 2) AND (dbo.Tzt.tZtID = dbo.Tsc.ztid) AND (dbo.Tuser.tUserID = dbo.Tzt.userid)
ORDER BY oid
select top 100 percent a.oid,a.ztid,b.mxtype,b.otitle,b.mend,b.dtime,c.usernc from tsc a inner join tzt b on a.ztid=b.tztid
inner join tuser c on c.tuserid=(SELECT userid FROM Tzt WHERE tztid=a.ztid)
where a.userid=2
order by a.oid--好像这样也可以
select top 100 percent a.oid,a.ztid,b.mxtype,b.otitle,b.mend,b.dtime,c.usernc from tsc a inner join tzt b on a.ztid=b.tztid
inner join tuser c on c.tuserid=b.userid
where a.userid=2
order by a.oid