Сравнение, если два столбца равны в предложениях Where - PullRequest
2 голосов
/ 29 марта 2011

Я бы хотел сравнить, если в предложении where два столбца равны. Столбцы представляют собой два столбца из разных таблиц, которые были объединены

Это утверждение, которое я использую

SELECT authors.state, sum(qty*price)as sales_revenue 
  from authors,titles, stores, sales 
 WHERE authors.state = (SELECT  stores.state from stores)

но я получаю сообщение об ошибке M

sg 8120, Level 16, State 1, Line 1
Column 'authors.state' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

Ответы [ 2 ]

4 голосов
/ 29 марта 2011

Используйте это:

WHERE authors.state = stores.state

Или лучше используйте синтаксис ANSI-92 JOIN.

SELECT authors.state, sum(qty*price) as sales_revenue
FROM authors
JOIN stores ON authors.state = stores.state
JOIN titles ON ...
JOIN sales ON ...
GROUP BY authors.state
0 голосов
/ 29 марта 2011

Это:

SELECT a.state,
       sum(l.qty*l.price)as sales_revenue 
       FROM authors a
       LEFT JOIN stores s on a.state=s.state
       GROUP BY a.state

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

например

authors = id,state
store = id,store

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...