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