mysql获取数据并在另一个表中查找

时间:2012-09-04 21:19:17

标签: mysql

我的数据库中有两个表。表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相关联的标题组成的数组。

1 个答案:

答案 0 :(得分:2)

select   LineId, Title 
from     owners 
where    LineId in (select LineId from followers group by LineId ) 
order by owners.LineId