我有4个表,表a,表b和表c具有相同的字段名称,但表d具有不同的字段名称,但我需要加入查询并且必须导出为CSV文件。
select a.name,a.age,b.addr from a,b where a.rid=b.tid UNION select
a.name,a.age,c.addr from a,c where a.uiroll=c.piroll
我还需要加入表d,但它有一些字段,我需要的是d.group和d.project,它们与表a相关,如d.uon = a.von
cvs文件中的结果应为
name age addr group project
以及价值观。
答案 0 :(得分:1)
您尝试过类似的事情吗?
SELECT a.name, a.age, b.addr, d.group, d.project
FROM a, b, d
WHERE a.rid=b.tib
AND d.uon=a.von
UNION
SELECT a.name, a.age, c.addr, d.group, d.project
FROM a, c, d
WHERE a.uiroll=c.piroll
AND d.uon=a.von
答案 1 :(得分:0)
select a.name, a.age, b.addr, d.group, d.project
from a
LEFT JOIN b
on a.rid = b.tid
LEFT JOIN c
on a.uiroll = c.piroll
LEFT JOIN d
on a.von = d.uon;
答案 2 :(得分:0)
SELECT a.name,a.age,b.addr, d.group. d.project
FROM a
INNER JOIN b ON a.rid=b.tid
INNER JOIN d ON a.von=d.uon
UNION
SELECT a.name,a.age,c.addr, d.group. d.project
FROM a
INNER JOIN d ON a.von=d.uon
INNER JOIN c ON a.uiroll=c.piroll
你的描述不太清楚,但我想这就是你想要的。您还应该查看JOIN语法。在使用关系数据库时,联接是必不可少的。