2016-04-12 8 views
2

Предполагая, что у меня есть таблица, как:Как выбрать изображение из таблицы?

 
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

Попробуйте этот путь

SELECT a.* FROM table as a 
join (SELECT log_id FROM table WHERE action_id = 999) b on a.log_id=b.log_id 
+0

I голосуйте за это из-за скорости запроса. –

1

Сборочный выбрать должны это сделать,

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

SELECT * FROM table_name WHERE log_id IN (SELECT log_id FROM table_name WHERE action_id = 999)

Смежные вопросы