Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 помогите с запросом  [new]
Evgen8739
Member

Откуда:
Сообщений: 13
Добрый день.
Подскажите пожалуйста если не затруднит с sql.
Вообщем есть к примеру табличка:

Vin_avto num_avto
V1 a111a77
V1 null
V2 a222a77
V2 null
V3 nul
V4 a444a77
V4 null

Как можно реализовать запрос что бы он выбрал мне только V3?
Нужно выбрать как то по такому принципу что бы он выбрал Vin_avto в которых num_avto is null. Но и что бы выполнялось условие что если с таким же значение в «Vin_avto» существует запись в « num_avto» то он мне её не выдавал бы.
Что то вроде:
SELECT [Vin_avto], [num_avto1]

FROM(
              SELECT [Vin_avto], max(num_avto) as num_avto1
              FROM [Имя таблицы]Group by [Vin_avto]) asWhere [num_avto]=’0’


И он наверное сработал бы если в столбце вместо «null» стоял бы «0».
18 фев 15, 14:06    [17281491]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4539
Версия какая сервера?
18 фев 15, 14:07    [17281501]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
Evgen8739,

соберитесь. И чётко сформулируй принцип формирования результата.
Например, никак не удаётся понять, о чём это:
Evgen8739
если с таким же значение в «Vin_avto» существует запись в « num_avto» то он мне её не выдавал бы.
18 фев 15, 14:09    [17281517]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
Evgen8739
Member

Откуда:
Сообщений: 13
SQL 2008,(Mikrosoft SQL Server Management studio)
18 фев 15, 14:10    [17281527]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4539
На скорую руку это будет примерно так:

SELECT [Vin_avto], [num_avto]
              FROM [Имя таблицы]
WHERE [num_avto] IS NULL
AND [Vin_avto] NOT IN (SELECT [Vin_avto] FROM [Имя таблицы] WHERE [num_avto] IS NOT NULL)
18 фев 15, 14:13    [17281544]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4539
Evgen8739
SQL 2008,(Mikrosoft SQL Server Management studio)

Это что такое?
Еще бы номер квартиры написали!
сделайте запрос
select @@version
18 фев 15, 14:14    [17281554]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4539
и опубликуйте в теме!
А то скажете - "Запрос выполнил. Что дальше?"
18 фев 15, 14:15    [17281564]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
Evgen8739
Member

Откуда:
Сообщений: 13
есть два столбца с [vin_avto] [num_avto]
записи в эту таблицу заносятся таким образом что с начало вводят vin_avto и поле [num_avto] имеет значение null.
Проходит время и этому авто присваивают номер и создается новая записть где заполнен [vin_avto] и [num_avto].Выглядит это примерно так:
[vin_avto]------ [num_avto]
v1---------------null
v1---------------a111a77
Но бывают же и случаи когда машину зарегистрировали а номер ей так и не присвоили и получается то у второй машинки есть запись только:

[vin_avto]------ [num_avto]
v2---------------null
Вот мне и нужно выбрать те машинки которые были зарегистрированы но номер им не присвоился.
18 фев 15, 14:19    [17281600]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
Evgen8739
Member

Откуда:
Сообщений: 13
SQL2008,

Как опубликовать в теме?Я тут просто в первые...
18 фев 15, 14:22    [17281620]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
Glory
Member

Откуда:
Сообщений: 104751
SELECT [Vin_avto]
              FROM [Имя таблицы]
GROUP BY Vin_avto HAVING COUNT(*) = 1
18 фев 15, 14:24    [17281634]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
Evgen8739
Member

Откуда:
Сообщений: 13
SQL2008,
За предоставленный запрос спасибо большое)))Все получилось)))
18 фев 15, 14:25    [17281641]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
Evgen8739,

тогда ещё вариант в догонку SQL2008:
SELECT [Vin_avto]
FROM [Имя таблицы]
GROUP BY [Vin_avto]
HAVING COUNT([num_avto])=0;
18 фев 15, 14:27    [17281656]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
Evgen8739
Member

Откуда:
Сообщений: 13
Спасибо всем большое за оперативность.Очень помогли.Классный форум)))
18 фев 15, 14:29    [17281670]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить