Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Декартово произведение light  [new]
ned help
Guest
Добрый день всем. у меня как всегда очень простая задача.
Есть таблица ( назовем ее T) и в ней два столбца
Имя Товар
Ванек Молоко
Серега Сало
Ванек Мясо
Серега Хлеб

Нужно найти для каждого имени товары который оно не покупало
Я так предполагаю что это надо делать как -то так
select имя, товар
from T
where имя*товар is null Или =0 Ну а у меня ошибка '' Тип данных операнда varchar недопустим для оператора multiply.
''
Кто подскажет как?
18 авг 11, 17:34    [11141436]     Ответить | Цитировать Сообщить модератору
 Re: Декартово произведение light  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
ned help,

задача, стало быть, - перечислить все товары, существующие в этом мире,
которые не покупал Серега?
18 авг 11, 17:36    [11141454]     Ответить | Цитировать Сообщить модератору
 Re: Декартово произведение light  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
И Ванек, умноженный на Молоко, - это круто!
18 авг 11, 17:37    [11141465]     Ответить | Цитировать Сообщить модератору
 Re: Декартово произведение light  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
iap
И Ванек, умноженный на Молоко, - это круто!


это ванек в молоковой степени получается:))
18 авг 11, 17:39    [11141480]     Ответить | Цитировать Сообщить модератору
 Re: Декартово произведение light  [new]
ned help
Guest
iap,

Нет ну как все - те что есть в таблице. И не только серега но и все имена. Можно начать с тех которые покупал Серега и все остальные. Может тут надо как - то через count(имя) * count (товар) = 0 делать?
18 авг 11, 17:40    [11141488]     Ответить | Цитировать Сообщить модератору
 Re: Декартово произведение light  [new]
Glory
Member

Откуда:
Сообщений: 104751
where имя*товар - это не декартово произведение
декартово произведение делается через соединение таблиц во FROM
18 авг 11, 17:41    [11141494]     Ответить | Цитировать Сообщить модератору
 Re: Декартово произведение light  [new]
ned help
Guest
Glory,

Блин точно получается я задачу не так скопривал Извините люди
18 авг 11, 17:43    [11141504]     Ответить | Цитировать Сообщить модератору
 Re: Декартово произведение light  [new]
ned help
Guest
Там у меня 2 таблицы в одной имя в другой товар.
И должно быть тогда так
Два табл
в первой ФИО - 3 столбца(ФОИ)
Во второй Код Товар - 2 столбца(Номенклатура)

Вот
select имя, товар
from ФИО, Номенклатура
where имя * товар is null
18 авг 11, 17:46    [11141532]     Ответить | Цитировать Сообщить модератору
 Re: Декартово произведение light  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
ned help,

1. Должна быть таблица, содержащая все товары, с которыми имеете дело
2. Должна быть таблица покупателей (Ванек, Серега и т.д.)
3. Должна быть таблица покупок (связь покупатель-товар с указанием количества, суммы, валюты и всего остального необходимого)

Вот тогда можно говорить о запросах, которые Вас так волнуют.
18 авг 11, 17:48    [11141551]     Ответить | Цитировать Сообщить модератору
 Re: Декартово произведение light  [new]
ned help
Guest
iap,
Хорошо спасибо я все это подготовлю и позже напишу
18 авг 11, 17:52    [11141584]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить