Сравните 2 таблицы и верните варианты в MySQL - PullRequest
0 голосов
/ 16 апреля 2020

Доброе утро всем, я надеюсь, что кто-то может помочь мне со следующим вопросом.

В MySQL Мне нужно сравнить 2 одинаковые таблицы, заполненные разными сотрудниками, и вернуть, если есть различия в записях, если есть различия, вы должны вернуть «номера деталей», «количество» и знать, принадлежит ли он к таблице 1 или таблице 2. Поэтому я создаю несуществующий столбец с именем «TypeTable», но он возвращает мне NULL.

Это запрос:

SELECT numParte
    ,Cantidad
    ,NULL AS "TypeTable"
FROM (
    SELECT numParte
        ,SUM(Cantidad) AS Cantidad
        ,"TypeTable" AS "Table1"
    FROM eboard.pye_hojadecarga
    WHERE id_chklistemb = 'IDHDC-1-HY'
    GROUP BY numParte

    UNION ALL

    SELECT numParte
        ,SUM(Cantidad) AS Cantidad
        ,"Table2"
    FROM eboard.pye_hojaconfirmacion
    WHERE id_hojadecarga = 'IDHDC-1-HY'
    GROUP BY numParte
    ) tbl
GROUP BY numParte
    ,Cantidad
HAVING count(*) = 1
ORDER BY numParte;

enter image description here

1 Ответ

1 голос
/ 16 апреля 2020

Ваш внешний запрос неверен, в качестве значения для отображения он указывает NULL. Вместо этого просто отобразите этот третий столбец:

SELECT numParte
     , Cantidad
     , TypeTable
FROM (
    SELECT numParte
         , SUM(Cantidad) AS Cantidad
         , 'Table1'      AS TypeTable
    FROM eboard.pye_hojadecarga
    WHERE id_chklistemb = 'IDHDC-1-HY'
    GROUP BY numParte

    UNION ALL

    SELECT numParte
         , SUM(Cantidad) AS Cantidad
         ,'Table2'       AS TypeTable
    FROM eboard.pye_hojaconfirmacion
    WHERE id_hojadecarga = 'IDHDC-1-HY'
    GROUP BY numParte
    ) tbl
GROUP BY numParte
       , Cantidad
HAVING count(*) = 1
ORDER BY numParte;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...