DBNAME:table_name的加入多个领域一个领域
table : abc
Remark1 Remark2 Remark3 Remark4 Remark5
1 2 3 4 5
table : xyz
Kod_type description
1 xxxx
2 yyyy
3 zzzz
4 aaaa
5 bbbb
如何加入备注1,备注2,备注3,Remark4,Remark5与kod_type?
DBNAME:table_name的加入多个领域一个领域
table : abc
Remark1 Remark2 Remark3 Remark4 Remark5
1 2 3 4 5
table : xyz
Kod_type description
1 xxxx
2 yyyy
3 zzzz
4 aaaa
5 bbbb
如何加入备注1,备注2,备注3,Remark4,Remark5与kod_type?
记录你做同样的你会正常的方式 -
SELECT ABC.*, XYZ.* FROM XYZ, ABC
WHERE
XYZ.KOD_TYPE=ABC.REMARK1
AND XYZ.KOD_TYPE=ABC.REMARK2
AND XYZ.KOD_TYPE=ABC.REMARK3
AND XYZ.KOD_TYPE=ABC.REMARK4
AND XYZ.KOD_TYPE=ABC.REMARK5
如果你需要查询任何一个评论匹配es -
SELECT ABC.*, XYZ.* FROM XYZ, ABC
WHERE
XYZ.KOD_TYPE=ABC.REMARK1
OR XYZ.KOD_TYPE=ABC.REMARK2
OR XYZ.KOD_TYPE=ABC.REMARK3
OR XYZ.KOD_TYPE=ABC.REMARK4
OR XYZ.KOD_TYPE=ABC.REMARK5
伟大的回答你对我gve ...我如何把数据库名称?通常我使用dbname..tablename –
通常您只需要预先安装数据库名称。例如, table_name.XYZ.KOD_TYPE和table_name.ABC.REMARKS1 – Kshitij
虽然这没有错,但值得注意的是,隐式联接已过时20年。使用显式连接的原因比没有更多的原因(唯一可能的原因不是避免输入额外的2个单词)。在这个例子中使用它们的一个简单理由是,如果XYZ中的每条记录在ABC中没有记录,并且实际上需要'LEFT JOIN';如果有明确的连接,它需要将'INNER'改为'LEFT',这是隐含的,它需要改变所有where子句来解决ABC中的NULL记录。 – GarethD
使用AND
条件与On
子句,同时加入两个表。
如果你想匹配所有备注栏应匹配Kod_Type
SELECT abc.*,
xyz.*
FROM abc
INNER JOIN xyz
ON abc.Remark1 = xyz.Kod_Type
AND abc.Remark2 = abc.Remark1
AND abc.Remark3 = abc.Remark1
AND abc.Remark4 = abc.Remark1
AND abc.Remark5 = abc.Remark1
如果你想在任何备注栏比赛到Kod_Type
SELECT abc.*,
xyz.*
FROM abc
INNER JOIN xyz
ON abc.Remark1 = xyz.Kod_Type
OR abc.Remark2 = xyz.Kod_Type
OR abc.Remark3 = xyz.Kod_Type
OR abc.Remark4 = xyz.Kod_Type
OR abc.Remark5 = xyz.Kod_Type
我敢肯定,OP意味着使用OR条件:) – Arvo
如果OP需要OR,则用OR替换AND。 –
这个问题不是很清楚,但我认为这样的想法是有意的。
SELECT COALESC(d1.description, '') as description1
, COALESC(d2.description, '') as description2
, COALESC(d3.description, '') as description3
, COALESC(d4.description, '') as description4
, COALESC(d5.description, '') as description5
FROM abc
LEFT JOIN xyz d1 ON d1.kod_type=abc.remark1
LEFT JOIN xyz d2 ON d2.kod_type=abc.remark2
LEFT JOIN xyz d3 ON d3.kod_type=abc.remark3
LEFT JOIN xyz d4 ON d4.kod_type=abc.remark4
LEFT JOIN xyz d5 ON d5.kod_type=abc.remark5
;
您可能应该看看规范化该结构...备注1,2,3,4,5作为列不是很好的关系设计。 –
你需要1个描述取决于每个评论的5个评论或5个描述? – Aprillion