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

Откуда: Азербайджан, г. Баку
Сообщений: 1382
таблица С - команды
таблица Р - список телефонов с кодом команды

пытаюсь выбрать телефоны только с одним типом комманд
что то написал неправильно, или может все написал неправильно

SELECT p.k, p.phone, p.c_kod
FROM p inner join c on p.c_kod = c.c_kod
WHERE (cod = 0) AND (ind BETWEEN 0 AND 1) AND EXISTS
(SELECT DISTINCT TOP 1 c1.prioritet, p1.comm_cod
FROM p p1 INNER JOIN c c1 ON p1.c_kod = c1.c_kod
WHERE cod = 0 AND ind BETWEEN 0 AND 1 AND p1.c_kod = p.c_kod
ORDER BY c1.prioritet, p1.c_kod)
ORDER BY p.k


где ошибка???
3 июн 04, 15:57    [720053]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Samir, дАрАгой, ты привел две таблицы, не указава их структуры и не привел образцов данных и что надо получить. Трудно, однако, тебе помочь.
3 июн 04, 16:03    [720083]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Samir
Member

Откуда: Азербайджан, г. Баку
Сообщений: 1382
table C (c_kod int, prioritet)
1 100
2 50
3 10
4 20
5 60

table P (k int (increment), phone int, c_kod int)
1 910001 3
2 910002 3
3 910001 5
4 910005 4
5 910006 3
6 910007 3
7 910001 2
8 910008 4

результат нужен такой
1 910001 3
2 910002 3
5 910006 3
6 910007 3

а выходит
1 910001 3
2 910002 3
3 910001 5
4 910005 4
5 910006 3
3 июн 04, 16:35    [720243]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
select *
From p
Where c_kod = 3
?
3 июн 04, 16:53    [720357]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Samir
Member

Откуда: Азербайджан, г. Баку
Сообщений: 1382
так написал

SELECT p.k, p.phone, p.c_kod
FROM p inner join c on p.c_kod = c.c_kod
WHERE (cod = 0) AND (ind BETWEEN 0 AND 1) AND EXISTS
(SELECT * FROM
(SELECT DISTINCT TOP 1 c1.prioritet, p1.comm_cod
FROM p p1 INNER JOIN c c1 ON p1.c_kod = c1.c_kod
WHERE cod = 0 AND ind BETWEEN 0 AND 1 AND p1.c_kod = с1.c_kod
ORDER BY c1.prioritet, p1.c_kod) TT WHERE TT.c_kod = p.c_kod)
ORDER BY p.k

работает
3 июн 04, 17:16    [720450]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить