有三张表分别是Script,Tag,ScriptToTag其中script和tag表的关系是通过ScriptToTag表关联的。
数据例如:Script 表ID Name1000 BMW
1001 SONY
1002 IBM
Tag 表ID Name 100 T1
101 T2
102 T3ScriptToTag 表ID ScriptID TagID3000 1000 101
3001 1001 102
3002 1002 100如何根据这三张表,取出Scirpt和Tag表中的数据呢?关键不清楚如何利用ScriptToTag将两者联系起来的select语句如何写,并且要放到临时表中,然后传出查询结果后,再将临时表删除,因为是新手,没写过这样复杂的,请各位高人指点,多谢?
数据例如:Script 表ID Name1000 BMW
1001 SONY
1002 IBM
Tag 表ID Name 100 T1
101 T2
102 T3ScriptToTag 表ID ScriptID TagID3000 1000 101
3001 1001 102
3002 1002 100如何根据这三张表,取出Scirpt和Tag表中的数据呢?关键不清楚如何利用ScriptToTag将两者联系起来的select语句如何写,并且要放到临时表中,然后传出查询结果后,再将临时表删除,因为是新手,没写过这样复杂的,请各位高人指点,多谢?
--直接连接就行了。
select a.name,c.name as tname
from script a join scripttotag b on a.id=b.scriptid
join tag c on b.id=c.tageid
select * from ScriptToTag a
left join Script b on a.ScriptID=b.ID
left join Tag c on a.TagID=c.ID
select a.*,b.name as bname,c.name as cname into #T from ScriptToTag a
left join Script b on a.ScriptID=b.ID
left join Tag c on a.TagID=c.ID--删除临时表
drop table #T
select a.*,c.*
from script a,scripttotag b,tag c
where a.id=b.scriptid and b.id=c.tageid
from script a,scripttotag b,tag c
where a.id=b.scriptid and b.id=c.tageid直接连
where s.id = st.ScriptID and st.TagID = t.id这个三表关联字段清楚,没你想象的那么复杂.