简单MySQL表与跨表匹配ID值:我需要什么样的MySQL连接?
table 1;
pid, firstname
table 2;
id, pid, property, value
可以说有在表1中的一个人条目:
pid: 1
firstname: fred
对于每个人有多个表2条目:
pid: 1
property: likes cats?
value: no
pid: 1
property: eye colour
value: orange
pid: 1
property: favourite food
value: sox
我想选择许多表中两个条目中的两个,比如眼睛的颜色和偏爱给定人物ID的食物条目。什么样的外连接可以实现这一点?
SELECT `t1`.name
FROM `table1` AS t1
LEFT JOIN `table2` t2 ON `t1`.pid = `t2`.pid
WHERE `t1`.pid = 1
AND `t2`.property = 'eye colour'
我被困在这里,如何从table2中获得两行并且还包括青睐食物吗? (在任何人说出来之前,不,我不能改变这个数据库的结构)。
感谢您的阅读。
这是什么查询输出? – 2012-03-15 14:41:30
你试图做的是“旋转一个实体属性值表”。 – biziclop 2012-03-15 14:43:17
是的,大家都知道,这不是那么明显; P – jwbensley 2012-03-15 15:39:04