LEFT JOIN中的MySQL多个变量

时间:2010-10-05 07:51:11

标签: sql mysql join left-join

我有以下表dates

"dates"  "one" "two"  "three" "four"
date1    id1    id2    id3    id4
date2    id3    id1    id4    id2

和第二张表id2name

"ids"  "names"
id1    name1
id2    name2
id3    name3
id4    name4

我有一个试图写

的心理障碍
SELECT * FROM dates WHERE `date`='$date' LEFT JOIN `id2name` ON ...

我在ON中使用哪个子句来获取名称而不是ID?

2 个答案:

答案 0 :(得分:3)

你的模型看起来是非规范化的,但这应该让你开始:

SELECT
  d.`date`,
  i1.names AS name1,
  i2.names AS name2,
  ...
FROM dates d
LEFT JOIN `id2name` i1 ON ( i1.ids = d.one )
LEFT JOIN `id2name` i2 ON ( i2.ids = d.two )
...
WHERE `date`='$date'

答案 1 :(得分:0)

据我所知,您一次只能加入一个ID,因此您必须在每个具有这些ID的列上进行联接