У меня есть таблица с большим количеством записей, но, к примеру ..Выберите строку, где все записи с одинаковыми строками встречаются условиями
ID | USER ID | DATE
1 | 1 | 2014-05-26
2 | 1 | 2015-05-08
3 | 2 | 2014-05-20
Я пытаюсь выбрать USER_ID для записей, дата которых более 6 месяцев прошли, но не включайте их, если есть еще одна запись с тем же USER_ID, которая не соответствует этим критериям. Так, например, я хотел бы вернуть только запись с идентификатором пользователя 2.
Мой вопрос я могу сделать
SELECT USER_ID FROM TABLE WHERE DATEDIFF(month, DATE, GETDATE()) > 6
но что будет возвращать запись с USER_ID 1. Я уверен, что это очень просто, но я не смог добиться этого.
Использование предложения WITH возвращено «Неверный синтаксис рядом с ключевым словом« с ». Если этот оператор является общим табличным выражением, предложением xmlnamespaces или предложением контекста отслеживания изменений, предыдущий оператор должен быть прерван точкой с запятой ». Не знаете, в чем проблема. – wizloc
Есть ли предыдущий оператор? В любом случае, вы должны получить в привычку добавлять точки с запятой в _all_ заявления, поскольку MS отметила, что это _might_ станет обязательным в будущем. (Возможно, несколько маловероятно, но зачем рисковать?) –
@ user3299574: Просто начните с символа «;» перед WITH. И, пожалуйста, отметьте это как принято, если это решит вашу prblem, thx – Shnugo