[英]how do i join two different tables in mysql
這是表1:
id name m1 m2 m3 total itemno 1 raj 10 10 10 30 1 2 ram 60 60 60 180 1 3 kumar 70 70 70 210 1 4 kanna 50 50 50 150 1 5 vivek 64 64 91 200 1 5 vivek 90 90 90 270 2
這是表2:
id name mark1 mark2 mark3 itemno 101 vivek 78 78 78 1 102 vivekkanna 89 88 78 1 103 rajagopalan 97 90 98 1 104 kumar 69 54 56 1 101 vivek 90 90 90 2
我想像這樣將這兩個表連接到如下所示的結果集中:
id name m1 m2 m3 total mark1 mark2 mark3 item no 1 raj 10 10 10 30 0 0 0 1 2 ram 60 60 60 180 0 0 0 1 3 kumar 70 70 70 210 69 54 56 1 4 kanna 50 50 50 150 0 0 0 1 5 vivek 64 64 91 200 78 78 78 1 5 vivek 90 90 90 270 90 90 90 2
似乎需要常規的LEFT JOIN,如果table2中的行不存在,則返回默認值;否則,返回默認值。
SELECT t1.id, t1.name, t1.m1, t1.m2, t1.m3,
COALESCE(t2.mark1, 0) mark1, COALESCE(t2.mark2, 0) mark2, t1.itemno
FROM table1 t1
LEFT JOIN table2 t2 ON t1.name = t2.name AND t1.itemno = t2.itemno
ORDER BY t1.id, t1.itemno
我們使用LEFT JOIN獲取與table1中的行不匹配的所有table2字段的默認NULL值,然后使用COALESCE將其改為0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.