0
我有三個表使用替代ID:MySQL的加入三個表,其價值
event Table
id | round | nameA | nameB | place
-- | ----- | ----- | ----- | -----
1 | 1 | 1 | 3 | 1
2 | 1 | 2 | 4 | 2
name Table
id | name | shortName | place
-- | ---- | --------- | -----
1 | A | a | 1
2 | B | b | 2
3 | C | c | 3
4 | D | d | 4
place Table
id | name
-- | ---
1 | p1
2 | p2
3 | p3
4 | p4
事件表是接近我想要什麼,但他們都充滿了IDS來代替。我想,以取代簡短名字IDS兩個NAMEA,nameB以及完整的地名是這樣的:
nameA.shortName | nameB.shortName | place.name
--------------- | --------------- | ----------
a | c | p1
b | d | p2
到目前爲止,我設法做它的名稱和短名稱替代地方ID爲NAMEA
SELECT n.shortName, e.nameB, p.name
FROM event e
INNER JOIN name n
ON n.id = e.nameA
INNER JOIN place p
ON e.place = g.id
但是nameB仍然在它的ID
nameA.shortName | nameB.id | place.id
--------------- | --------------- | ----------
a | 3 | p1
c | 4 | p2
我猜連接和子查詢。我知道如何獲得短名稱和地名,但是如何將它們與主要查詢結合?
SELECT n.shortName
FROM name n
JOIN event e
ON n.id = e.nameB
加入名稱表的兩倍。 (具有表別名,例如n1和n2。) – jarlh