Страница: 1 |
Страница: 1 |
Вопрос: Помогите создать запрос SQL
Добавлено: 29.01.10 11:40
Автор вопроса:
Роман
Помогите создать запрос:
База:
ID | Act | a1 |... и т.д.
1 | 100 | Иван |... и т.д.
2 | 100 | Александр |... и т.д.
3 | 100 | Сергей |... и т.д.
4 | 200 | Павел |... и т.д.
5 | 200 | Николай |... и т.д.
6 | 200 | Александр |... и т.д.
Нужно создать запрос SQL чтобы получить:
Все строки, где Act = 200 и имена в поле a1 не встречались ранее.
В данном примере получатся выбранными строки с ID = 4 и 5 (т.е. "Александр" уже есть в базе)
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа: Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #1
Добавлено: 29.01.10 21:34
select * from t1 where a1 in (select a1 from t1 where act <= 200 group by a1 having count(act) = 1) and act = 200
ну воть, не знаю насколько данный запрос хорош по быстродействию, но вроде норм
Номер ответа: 2
Автор ответа: MegaGyry
ICQ: 418384979
Вопросов: 1
Ответов: 10
Web-сайт:
Профиль | | #2
Добавлено: 01.02.10 13:40
подзапрос всегда плохо.
Как минимум нужно exist использовать в подзапросе
Номер ответа: 3
Автор ответа: Роман
Вопросов: 26
Ответов: 60
Профиль | | #3
Добавлено: 08.02.10 11:17
Спасибо за ответ.
Приболел немного.
Сейчас попробую.
А по поводу Exist можно поподробнее?
Номер ответа: 4
Автор ответа: Роман
Вопросов: 26
Ответов: 60
Профиль | | #4
Добавлено: 22.03.10 18:42
Спасибо все ок!
Просьба ышо немного помочьь.
Нужно, чтобы выбирались - и строки которые не повторяются, и строки, которые повторяются, но по повторяющимся - предыдущие нужно исключить.
Т.е. нужны только НОВЫЕ уникальные строки.
Например в базе:
ID | a1 |... и т.д.
0 | Александр |... и т.д.
1 | Иван |... и т.д.
2 | Александр |... и т.д.
3 | Сергей |... и т.д.
4 | Сергей |... и т.д.
5 | Николай |... и т.д.
6 | Александр |... и т.д.
Должны быть выбраны строки с ID = 1,4,5,6 (т.е. "ID" = 0,2,3 не нужны, т.к. есть новые с одинаковыми именами а1)
Ну помогите, а?
А то уже все мозги врастапырку...
Номер ответа: 5
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #5
Добавлено: 23.03.10 00:14
select max(id) from table group by a1