Как получить данные с 3 таблиц в MySQL?

Возможно, проще, чем ответ redgeoff , если вы не нуждаетесь в нем автоматизированным способом, вы можете сцепить обещания с помощью $q.when() в сочетании с .then(), как показано в начале этот пост . return $q.when() .then(function(){ return promise1; }) .then(function(){ return promise2; });

0
задан Strawberry 17 February 2019 в 17:48
поделиться

2 ответа

Как насчет использования UNION снова?

SELECT 
    ps.id,
    ps.pdf,
    ps.emp_id,
    ps.emp_type,
    external_employee.name AS comemp,
    internal_employee.comp_empl_name AS comemp
FROM
    pay_slip AS ps
        INNER JOIN
    internal_employee_master AS internal_employee ON internal_employee.comp_trad_id = ps.trade_id
WHERE
    ps.is_deleted = 1 AND ps.id = '".$id."'
        AND ps.type = 'internal' 
UNION ALL 
SELECT 
    ps.id,
    ps.pdf,
    ps.emp_id,
    ps.emp_type,
    external_employee.name AS comemp,
    internal_employee.comp_empl_name AS comemp
FROM
    pay_slip AS ps
        INNER JOIN
    external_employee_master AS external_employee ON external_employee.trad_id = ps.trade_id
WHERE
    ps.is_deleted = 1 AND ps.id = '".$id."'
        AND ps.type = 'external'
0
ответ дан Andrii Filenko 17 February 2019 в 17:48
поделиться

Вы можете попробовать это

SELECT ps.id, ps.pay_slip, ps.emp_type, COALESCE(i.employee_name, e.name) AS name 
FROM payslips ps 
LEFT JOIN internal_employee_master i ON i.id = ps.emp_id AND ps.emp_type = 'internal'
LEFT JOIN external_employee_master e ON e.id = ps.emp_id AND ps.emp_type = 'External' 
AND ps.id = :ID

Вы можете увидеть это в действии здесь http://sqlfiddle.com/#!9/53a195/7/0

[ 116] Я бы упомянул, что в ваших включенных таблицах и запросах есть ряд проблем. Например, неправильные имена столбцов между таблицами (name вместо employee_name), вы пропустили столбец is_deleted из своей примерной схемы, и у вас есть заглавные и некапитализированные значения в столбце emp_type, что сбивает с толку. [116 ]
0
ответ дан olliefinn 17 February 2019 в 17:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: