2
У меня есть таблица вроде этого:MySQL: случай, когда альтернатива/правильное утверждение
Order | UserID | Date | Channel |
------------------------------------------
1 | 1 | 2015/01/01 | Direct |
2 | 1 | 2015/01/02 | Natural |
3 | 1 | 2015/01/03 | PPC |
4 | 1 | 2015/01/04 | Direct |
1 | 2 | 2015/01/01 | Natural |
2 | 2 | 2015/01/02 | Natural |
1 | 3 | 2015/01/01 | Direct |
2 | 3 | 2015/01/02 | Natural |
3 | 3 | 2015/01/03 | PPC |
1 | 4 | 2015/01/01 | Natural |
2 | 4 | 2015/01/02 | PPC |
3 | 4 | 2015/01/03 | Direct |
4 | 4 | 2015/01/04 | Natural |
Я хотел бы удалить полный UserIds где Order = 1 не является «природным». Другими словами, я хотел бы удалить пользователей, которые не запускали свои веб-сайты по каналу Natural.
Это таблица, я хотел бы видеть после того, как:
Order | UserID | Date | Channel |
------------------------------------------
1 | 2 | 2015/01/01 | Natural |
2 | 2 | 2015/01/02 | Natural |
1 | 4 | 2015/01/01 | Natural |
2 | 4 | 2015/01/02 | PPC |
3 | 4 | 2015/01/03 | Direct |
4 | 4 | 2015/01/04 | Natural |
Я пытался использовать случай, когда оператор, но с плохим результатом:
SELECT
CASE
WHEN Order = 1
WHEN Channel = 'Natural'
END
FROM tablename
'CASE WHEN' не для строки fil Теринг. Вам нужно 'WHERE' с подзапросом EXIST или некоторым функциональным эквивалентом. –
@ PM 77-1 Извините, что беспокоился, но какой-либо шанс для фактического запроса? – Chriser
Нет. Сначала вам нужно изучить некоторые SQL. Я дал вам достаточно информации, чтобы начать. –