我對SQL很陌生,大多數我通過搜索都能夠回答的其他問題,但是這似乎很難找到類似的東西。我看到this和this看起來很相似,但我無法找到答案,但我認爲它應該很簡單。如何將一個表中的多個列連接到另一個表中的列
爲了簡化我的數據庫,我試圖將兩個表連接到視圖中。
一個表(a_main)在用戶ID(UID)和他們的用戶名(名稱)之間有一個映射 第二個表(log_points)有許多列,包括兩個用戶(user1和user2)。這兩個用戶由用戶ID標識,但我想在視圖中顯示他們的用戶名。
例
SELECT name, UID FROM a_main
返回類似
Jeff 1234
SELECT date, user1, user2 FROM log_points
返回
2013-03-22 1222 1234
我希望視圖能夠通過名稱而不是id返回用戶。
如果它只是一個用戶,我可以做一個簡單的JOIN
SELECT date, a_main.name FROM log_points
INNER JOIN a_main ON log_points.user1 = a_main.UID
,但我無法弄清楚如何也加入到用戶2 a_main.UID。
任何建議將不勝感激!我正在使用MySQL。
編輯找到答案here。
SELECT t1.name AS person1, t2.name AS person2
FROM log_points t
INNER JOIN a_main t1 ON t1.UID = t.user1
INNER JOIN a_main t2 ON t2.UID = t.user1;
有2個用戶1222,1234,它們像對數點表中的列那樣工作......對吧? –
我想通了,我發現一個相關的問題解決了它 - –
@ Jeff-P,那麼你應該告訴我們解決方案是什麼 - 當別人有與你的問題相同的問題時。 ;-) – Darwind