2

データベースに 2 つのテーブルがあります。表 1 は、「タイムライン」とそれに対応する所有者およびタイトルのリストです。

表 2 は、タイムラインにアクセスできるが所有者ではなくフォロワーであるユーザーのリストです。

2 つのテーブルのいずれかで userID にリンクされている lineID と対応するタイトルを出力するクエリを作成しようとしています。

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 と Title で構成される配列です。

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 に答える