实施例
我的查询会为bob生成两行,唯一的区别是电话号码。但是,我从中获得电话号码的表格有电话号码。例如bob的第一行,电话类型ID为1,第二行为2.我需要它们在同一行
我假设我需要为每个电话ID类型做一个子查询......但这似乎不起作用。我一直在回来
子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。
我希望我的查询产生
What i need for query to produce
由于
答案 0 :(得分:0)
如果您的电话类型数量有限,则可以在telephone
表格中为每种类型使用 LEFT OUTER JOIN 。例如:
SELECT e.name, t1.phoneNumber AS telephone1, t2.phoneNumber AS telephone2, e.email, ...
FROM person AS e
LEFT OUTER JOIN telephon AS t1 ON t1.personID = e.Id AND typeId = 1
LEFT OUTER JOIN telephon AS t2 ON t2.personID = e.Id AND typeId = 2
...
WHERE ....