2

我的数据库中有两个表。表 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

这最终产生了重复的行。

理想情况下,我需要的输出是一个包含与该用户 ID 关联的所有 lineID 和 Titles 的数组。

4

1 回答 1

2
select   LineId, Title 
from     owners 
where    LineId in (select LineId from followers group by LineId ) 
order by owners.LineId
于 2012-09-05T08:01:48.263 回答