Уважаемые DBA и просто кодеры!.. Столкнулся с интересной SQL-задачей... (см. внутри, в двух словах не описать).

программирование базы данных sql БД select

Вот есть таблица КЛИЕНТ с полями - КодКлиента (PK), КодТовара (FK), СтранаКлиента. И таблица ТОВАР с полями - КодТовара(PK), НаименованиеТовара.

Нужно вывести список клиентов, которые покупают товары ВСЕХ наименований. Мозгов не хватает понять, как это сделать. Помогите, кто может. Просто интересно, возможно ли это вообще средствами языка! Хотя последний вопрос, наверное, риторический :))) Это я просто туповат, видимо :)
Ответы:
Не может быть чтобы код клиента (первичный ключ) повторялся в таблице Клиент. А из условия задачи он повторяется ("список клиентов, которые покупают товары ВСЕХ наименований").
Вы что то напутали
если у тебя в первой таблице получается по нескольку строчек на клиента (клиент1-товар1, клиент1-товар2), то вот тут нечто отдаленно похожее для mysql было: http://otvety.google.ru/otvety/thread?tid=681abcb2517338b2&table=%2Fotvety%2Fuser%3Fuserid%3D00807426981829455068%26tab%3Dwtmtoa
Это означает, что мощность множества уникальных товаров, покупаемых отдельным пользователем должна в точности равняться количеству имеющихся товаров. Т.е. (буду сказать на SQL)
count(distinct ..))  =count(distinct ..))


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.