2013-11-08 2 views
0

У нас есть следующие таблицы:SQL дисплей на основе подсчета другой таблицы

**Product** 
Productnr 


**Deliverable** 
Deliverernr 
Productnr 

**Deliverer** 
Deliverernr 

Отношения между продуктом и Избавитель является Многие ко многим и Deliverable является его стык стол

Я пытаюсь отобразить все продукты, которые только доставляемые ONE сдатчика

Я попытался следующие без успеха:

SELECT Product.Productnr 
FROM Product, Deliverable, Deliverer 
WHERE Product.Productnr = Deliverable.Productnr AND 
Deliverer.Deliverernr = Deliverable.Deliverernr 
HAVING COUNT(Product.Productnr) = 1; 

Я использую доступ к MS

Заранее благодарим за любую помощь.

+0

Где ваше заявление 'JOIN'? – tigeravatar

+0

Я присоединился к ним с равными знаками WHERE Product.Productnr = Deliverable.Productnr AND Deliverer.Deliverernr = Deliverable.Deliverernr –

ответ

1

Я не знаю, почему вам нужно использовать все таблицы, когда у вас есть одна точка соединения, и вам нужен конкретный результат, который зависит от обеих переменных точки соединения, я могу ошибаться в получении вашего вопроса. Попробуйте, если это поможет:

SELECT Productnr FROM Deliverable GROUP BY Productnr HAVING COUNT (Deliverernr)=1 
+0

Ваш ответ помог мне с моим запросом, и теперь он работает! Большое спасибо, я добавил это в где: 'ВЫБРАТЬ Product.Productnr FROM Product, Поставочной, Избавитель WHERE Product.Productnr = Deliverable.Productnr И Deliverer.Deliverernr = Deliverable.Deliverernr И Deliverable.Deliverernr IN (SELECT FROM Productnr Конечный продукт GROUP BY Productnr HAVING COUNT (Deliverernr) = 1) GROUP BY Deliverable.Productnr, Product.Productnr; ' –

Смежные вопросы