Простой подзапрос в Access - PullRequest
4 голосов
/ 13 января 2012

У меня проблема с подзапросом, которая, я уверен, имеет действительно очень простое решение, но я не могу понять, что это такое!

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

"Вы написали подзапрос, который может возвращать более одного поля без использования зарезервированного слова EXISTS в предложении from основного запроса."

Я пытаюсь сделать что-то подобное, пожалуйста, кто-нибудь может посоветовать, что не так?

select
  customer.name,
  customer.address,
  (select sum(order.orderamount) from order, customer where order.customerid = customer.id)
from
  customer

спасибо!

1 Ответ

3 голосов
/ 13 января 2012
select 
  customer.name, 
  customer.address, 
  (select sum(order.orderamount) from order where order.customerid = customer.id) as amount
from customer 

но вы можете сделать это без подзапроса:

select 
  customer.name, 
  customer.address, 
  sum(order.orderamount) 
from order 
   join customer on order.customerid = customer.id
group by   customer.name,   customer.address
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...