我有以下表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?
答案 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的列上进行联接