0
我有三個表Mysql的加入基於列的值三個表
的USR
ID Name
--------
1 Mark Dav
2 Dan Fos
卡斯特
ID Name
--------
1 Jane Cue
2 Mary Tie
封郵件
ID Frm_ID To_ID Msg frm_cat to_cat
--------
1 1 1 hello usr cus
1 1 2 There usr cus
1 2 1 hello cus usr
1 2 2 hello cus usr
如何加入表,因此我可以得到以下結果。
封郵件
ID Frm_ID To_ID Frm_name To_name Msg frm_cat to_cat
------------------------------------------------
1 1 1 Mark Dav Jane Cue hello usr cus
1 1 2 Mark Dav Mary Tie There usr cus
1 2 1 Mark Tie Mark Dav hello cus usr
1 2 2 Mark Tie Dan Fos hello cus usr
我嘗試
id as id,
m.frm_id,
m.to_id,
m.msg,
f.name frm_name,
t.name to_name,
from msgs m
left join usrs on f.id = m.from_id AND m.from_cat = 'usr' OR cust f on f.id = m.frm_id AND m.from_cat = 'cus'
left join usrs t on t.id = m.to_id AND m.from_cat = 'usr' OR cust f on f.id = m.fom_id AND m.from_cat = 'cus';
,但我得到了一系列的錯誤
優選地,表應該分享鍵,以便您可以加入他們的表格並獲得正確和有意義的結果。 如何將表信息連接到cust表以及它如何連接到usrs表? – MaD
cust和用戶連接到基於from_id和to_id的消息 – Smith
如果msgs表上的Frm_ID是usrs表ID列的外鍵。然後你可以這樣做: select * from msgs left join usrs on(msgs.Frm_ID = usrs.ID); – MaD