2016-04-12 4 views
2

私は次のように表していると仮定すると:私はこのような結果を望ん表からimformationを選択する方法は?

 
user_id | log_id | action_id 
############################ 
191  | 11111 | 1 
191  | 11111 | 2 
191  | 11111 | 3 
191  | 11111 | 999 
191  | 22222 | 4 
191  | 22222 | 5 
191  | 22222 | 6 
191  | 33333 | 7 
191  | 33333 | 8 
191  | 33333 | 9 
191  | 33333 | 999 
191  | 44444 | 10 
191  | 44444 | 11 
191  | 44444 | 12 
...... 
...... 
...... 

は、action_id = 999と同じLOG_IDを持つ他のすべての行:

 
user_id | log_id | action_id 
############################ 
191  | 11111 | 1 
191  | 11111 | 2 
191  | 11111 | 3 
191  | 11111 | 999 
191  | 33333 | 7 
191  | 33333 | 8 
191  | 33333 | 9 
191  | 33333 | 999 
...... 
...... 

感謝します。

答えて

0

(がaction_id = 999 FROM table_nameをLOG_IDを選択)TABLE_NAME FROM

SELECT * FROM table WHERE log_id IN (SELECT log_id FROM table WHERE action_id = 999); 
+0

この方法を試してみてくださいIクエリ速度のためにこれを投票してください。 –

1

サブ選択はそれを行う必要があり、、IN LOG_ID

0

SELECT *は

SELECT a.* FROM table as a 
join (SELECT log_id FROM table WHERE action_id = 999) b on a.log_id=b.log_id 
関連する問題