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

Откуда:
Сообщений: 2
Всем добрый день!

Есть общая таблица с материалами:

CREATE TABLE Materials
(
MaterialCode nvarchar(20) NOT NULL
)


INSERT INTO Materials (MaterialCode ) VALUES (MaterialCode1)
INSERT INTO Materials (MaterialCode ) VALUES (MaterialCode2)
INSERT INTO Materials (MaterialCode ) VALUES (MaterialCode3)
INSERT INTO Materials (MaterialCode ) VALUES (MaterialCode4)
INSERT INTO Materials (MaterialCode ) VALUES (MaterialCode5)


И есть таблица "исключений", где для конктретного клиента представлен список материалов, не доступных для этого клиента.
CREATE TABLE Exclusions
(
CustomerCode nvarchar(20) NOT NULL,
MaterialCode nvarchar(20) NOT NULL
);


INSERT INTO Exclusions (CustomerCode) VALUES (CustomerCode1, MaterialCode2)
INSERT INTO Exclusions (CustomerCode) VALUES (CustomerCode1, MaterialCode3)
INSERT INTO Exclusions (CustomerCode) VALUES (CustomerCode2, MaterialCode1)
INSERT INTO Exclusions (CustomerCode) VALUES (CustomerCode2, MaterialCode2)
INSERT INTO Exclusions (CustomerCode) VALUES (CustomerCode2, MaterialCode5)


Хотелось бы получить из этого список материалов, доступных клиенту - по каждому клиенту:

CustomerCodeMaterialCode
CustomerCode1MaterialCode1
CustomerCode1MaterialCode4
CustomerCode1MaterialCode5
CustomerCode2MaterialCode3
CustomerCode2MaterialCode4


Подскажите, как грамотней посмотрить запрос?
12 авг 15, 01:11    [18006197]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь с запросом  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31437
Svetlana112
Подскажите, как грамотней посмотрить запрос?
Нужна ещё таблица клиентов.

Тогда запрос будет:
SELECT *
FROM Customer c
    CROSS JOIN Materials m
WHERE NOT EXISTS(
        SELECT * FROM Exclusions e WHERE e.CustomerCode = c.CustomerCode AND e.MaterialCode = m.MaterialCode
    )
12 авг 15, 02:40    [18006255]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь с запросом  [new]
Svetlana112
Member

Откуда:
Сообщений: 2
Спасибо большое! Я все билась что-то сделать из этих двух
12 авг 15, 09:18    [18006481]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить