表A
cid city
1 a1
2 a2
5 a5
6 a6
8 a8
表B
cid name
3 b3
5 b5
7 b7
9 b9
表C
cid photo
1 c1
4 c4
5 c5
7 c7
8 c8请教如何把表A 表B 表D合成
表D
cid name city photo
1 a1 c1
2 a2
3 b3
4 c4
5 a5 b5 c5
6 a6
7 b7 c7
8 a8 c8
9 b9
-----------------------------------
cid city
1 a1
2 a2
5 a5
6 a6
8 a8
表B
cid name
3 b3
5 b5
7 b7
9 b9
表C
cid photo
1 c1
4 c4
5 c5
7 c7
8 c8请教如何把表A 表B 表D合成
表D
cid name city photo
1 a1 c1
2 a2
3 b3
4 c4
5 a5 b5 c5
6 a6
7 b7 c7
8 a8 c8
9 b9
-----------------------------------
(select t2.* ,b.name from
(select t1.*,a.city from
(select la.cid from lht_a la
union
select lb.cid from lht_b lb
union
select lc.cid from lht_c lc) t1,lht_a a
where t1.cid=a.cid(+)) t2,lht_b b
where t2.cid=b.cid(+))t3,lht_c c
where t3.cid=c.cid(+);
SELECT * FROM (SELECT A.CID,B.NAME,A.CITY,C.PHOTO FROM A,B,C WHERE A.CID=B.CID(+) AND A.CID=C.CID(+)
UNION
SELECT B.CID,B.NAME,A.CITY,C.PHOTO FROM A,B,C WHERE C.CID(+)=B.CID AND B.CID=A.CID(+)
UNION
SELECT C.CID,B.NAME,A.CITY,C.PHOTO FROM A,B,C WHERE C.CID=A.CID(+) AND B.CID(+)=C.CID )
ORDER BY CID
请教是否可以指点下,t3.cid=c.cid(+) 这表示什么意思?
表A
cid did city
1 d1 a1
2 d1 a2
5 d2 a5
6 d6 a6
8 d8 a8
表B
cid did name
3 d3 b3
5 d1 b5
7 d7 b7
8 d8 b8
9 d9 b9
表C
cid did photo
1 d2 c1
4 d4 c4
5 d1 c5
7 d1 c7
8 d8 c8A B C 合并为D:
表D:
cid did name city photo
1 d1 a1
1 d2 c1
2 d1 a2
3 d3 b3
4 d4 c4
5 d1 b5 c5
5 d2 a5
6 d6 a6
7 d1 c7
7 d7 b7
8 d8 b8 c8 a8
9 d9 b9
----------------------------------
请问这样又该如何写?
select ta.cid,ta.did from A ta
union
select tb.cid,tb.did from B tb
union
select tc.cid,tc.did from C tc
) tta
left join A ttb on tta.cid=ttb.cid
left join B ttc on tta.cid=ttc.cid
left join C ttd on tta.cid=ttd.cid
order by tta.cid,tta.did
select ta.cid,ta.did from A ta
union
select tb.cid,tb.did from B tb
union
select tc.cid,tc.did from C tc
) tta
left join A ttb on tta.cid=ttb.cid and tta.did=ttb.did
left join B ttc on tta.cid=ttc.cid and tta.did=ttc.did
left join C ttd on tta.cid=ttd.cid and tta.did=ttd.did
order by tta.cid,tta.did