我的数据库中有两个表。表1列出了“时间表”及其相应的所有者和职称。
表2是有权访问时间表但是是关注者而非所有者的用户列表。
我正在尝试编写一个查询,该查询输出lineID和相应的标题,这些标题链接到两个表中任意一个的userID。
A query for userID 1 would ideally output:
1 a
2 b
3 c
6 f
希望这不会太混乱,但目的是用给定UserID的LineID和Title填充动态生成的选择框...
Table 1 ("owners")
--------------------------
| LineID | UserID | Title |
| 1 | 1 | a |
| 2 | 1 | b |
| 3 | 1 | c |
| 4 | 2 | d |
| 5 | 2 | e |
| 6 | 1 | f |
--------------------------
Table 2 ("followers")
----------------------------
| RowID | LineID | UserID |
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 3 | 1 |
| 4 | 3 | 2 |
| 5 | 2 | 2 |
| 6 | 6 | 1 |
----------------------------
我尝试使用:
SELECT title
FROM `lines`
LEFT JOIN follow
ON follow.user_id = lines.user_id
WHERE follow.user_id = 1
最终产生了重复的行。
理想情况下,我需要的输出是一个由所有lineID和与该userID相关联的标题组成的数组。
答案 0 :(得分:2)
select LineId, Title
from owners
where LineId in (select LineId from followers group by LineId )
order by owners.LineId