Как сделать запрос, у которого есть Union и объединиться в один запрос в MySQL

0

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

SELECT  * 
FROM    reg_tblvetspecialization 
WHERE   pig = 1 
UNION 
SELECT  * 
FROM    reg_tblvetspecialization 
WHERE   chicken = 1 
LEFT JOIN 
    (
        SELECT  a.system_md_id, a.firstname, a.middlename, 
                a.lastname, a.suffixname, a.profession, a.date_issue, 
                b.Province, b.Municipality, 
                b.company_clinic_name,  b.system_clinic_name_id 
        FROM    reg_tblveterinarian a 
                INNER JOIN reg_tblcliniccompany b 
                    ON a.system_md_id = b.system_md_id 
        WHERE   a.system_md_id = 20041708  
                AND a.deleted = 0 
        GROUP BY a.system_md_id
    );
  • 0
    Почему бы вам не сменить фильтр на «где свинья = 1» или «курица = 1», тогда вам вообще не понадобится Union
  • 0
    ну, тебе сложно ответить. Люди здесь не читатели ума. Вы должны указать отношения между таблицами. И было бы намного лучше, если бы вы могли предоставить пример данных и требуемый результат вместе со своим вопросом.
Теги:

1 ответ

1
Лучший ответ

Ниже приведены некоторые проблемы с вашим запросом:

  • Нет критериев присоединения к ЛЕВЫМ ВСТУПЛЕНИЕМ. Добавьте один.
  • Нет псевдонима для правой таблицы в LEFT JOIN. Установите один.

При этом ваш запрос должен выглядеть так:

SELECT  * 
FROM    reg_tblvetspecialization 
WHERE   pig = 1 
UNION 
SELECT  * 
FROM    reg_tblvetspecialization 
WHERE   chicken = 1 
LEFT JOIN 
    (
        SELECT  a.system_md_id, a.firstname, a.middlename, 
                a.lastname, a.suffixname, a.profession, a.date_issue, 
                b.Province, b.Municipality, 
                b.company_clinic_name,  b.system_clinic_name_id 
        FROM    reg_tblveterinarian a 
                INNER JOIN reg_tblcliniccompany b 
                    ON a.system_md_id = b.system_md_id 
        WHERE   a.system_md_id = 20041708  
                AND a.deleted = 0 
        GROUP BY a.system_md_id
    ) d                     --adding alias
ON reg_tblvetspecialization.common_column=d.common_column; --adding a join condition

Ещё вопросы

Сообщество Overcoder
Наверх
Меню