SQL-запрос с использованием UNIONS и GROUP BY - PullRequest
2 голосов
/ 02 сентября 2010

Запрос:

SELECT max(image_url), Model_Name
FROM (
    SELECT max(image_url), Model_Name
    FROM dbo.proinfo_vodafone WHERE Brand_name='Nokia'
    UNION
    SELECT max(image_url), Model_Name
    FROM dbo.proinfo_3 WHERE Brand_name='Nokia' 
    UNION
    SELECT max(image_url), Model_Name
    FROM dbo.proinfo_t WHERE Brand_name='Nokia'
    UNION
    SELECT max(image_url), Model_Name
    FROM dbo.proinfo_o2 WHERE Brand_name='Nokia'
    UNION
    SELECT max(image_url), Model_Name 
    FROM dbo.proinfo_orange
    WHERE Brand_name='Nokia') AS temp
WHERE Model_Name IS NOT NULL
GROUP BY Model_Name
ORDER BY Model_name ASC

Выдает ошибку: Msg 8155, Уровень 16, Состояние 2, Строка 3 Столбец 1 для столбца «temp» не указан.

СейчасЕсли честно, я не очень хорошо разбираюсь с SQL, и я сделал этот запрос, используя Quick Replace в похожем запросе, и я не могу понять, что не так с запросом.

Пожалуйста, помогите!Заранее спасибо.

Anchit

1 Ответ

5 голосов
/ 02 сентября 2010
  SELECT MAX(image_url), Model_Name
  FROM   (SELECT MAX(image_url) image_url, Model_Name
           FROM   dbo.proinfo_vodafone
           WHERE  Brand_name = 'Nokia'
           UNION
           SELECT MAX(image_url) image_url, Model_Name
           FROM   dbo.proinfo_3
           WHERE  Brand_name = 'Nokia'
           UNION
           SELECT MAX(image_url) image_url, Model_Name
           FROM   dbo.proinfo_t
           WHERE  Brand_name = 'Nokia'
           UNION
           SELECT MAX(image_url) image_url, Model_Name
           FROM   dbo.proinfo_o2
           WHERE  Brand_name = 'Nokia'
           UNION
           SELECT MAX(image_url) image_url, Model_Name
           FROM   dbo.proinfo_orange
           WHERE  Brand_name = 'Nokia') AS temp
  WHERE  Model_Name IS NOT NULL
  GROUP  BY Model_Name
  ORDER  BY Model_name ASC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...