MySql Union не выполняется в представлении - PullRequest
0 голосов
/ 05 февраля 2009

Я пытаюсь создать представление для СОЮЗА из 2 операторов выбора, которые я создал.

UNION работает нормально при индивидуальном исполнении

Но проблема в том, что только 1-я часть UNION выполняется, когда я выполняю ее как представление.

Я использую следующий запрос:

SELECT DISTINCT products.pid AS id, 
                products.pname AS name, 
                products.p_desc AS description,
                products.p_loc AS location,
                products.p_uid AS userid,
                products.isaproduct AS whatisit 
           FROM products

          UNION
          SELECT DISTINCT services.s_id AS id, 
                services.s_name AS name, 
                services.s_desc AS description,
                services.s_uid AS userid,
                services.s_location AS location,
                services.isaservice AS whatisit 
           FROM services
          WHERE services.s_name

Выше работает нормально, когда я выполняю его отдельно. Но когда я использую его в качестве представления, он не дает мне результатов сервисной части.

Может ли кто-нибудь помочь мне с этим?

1 Ответ

1 голос
/ 17 мая 2010

С описание объединения:

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

Это означает, что идентификатор пользователя и местоположение перепутаны во втором операторе выбора.

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