Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 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-сайт: iSkywalker.ru
 Профиль | | #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-сайт: e1.ru
 Профиль | | #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-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 23.03.10 00:14
select max(id) from table group by a1

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам