Я попытался сделать вид, используя объединение для 3 таблицы, каждая таблица работает успешно с нужными данными. после того, как я попытаюсь объединить, данные об totalqtyspb получат неверные данные.Таблица MySQL получает неверные данные после объединения
тип данных - варчар.
вот мой код
SELECT
p.PONumber,
p.POdate,
p.customername,
p.description,
p.poqty,
SUM(q.deliveryqty) AS TotalQtySpb,
p.poqty-SUM(q.deliveryqty) AS OTSPO
FROM
tb_po p
INNER JOIN
tb_rls q ON p.PONumber = q.PONumber AND p.description = q.description
GROUP BY
p.PONumber,
p.PODate,
p.customername,
p.description,
p.poqty
UNION
SELECT
PONumber,
PODate,
CustomerName,
Description,
POQty,
'0' AS TotalQtySpb,
poqty AS OTSPO
FROM
tb_po
WHERE
poreleasedate = ''
UNION
SELECT
PONumber,
PODate,
CustomerName,
Description,
POQty,
'0' AS TotalQtySpb,
poqty AS OTSPO
FROM
tb_po
WHERE
poreleasedate != '' AND OutboundInbound = ''
я не могу объяснить, почему данные о totalqtyspb получить неверные данные, уже пытаются изменения в Int тип данных до сих пор не работает.
какие данные вы точно хотите получить и что именно возвращается? – Jhecht
Оператор UNION будет просто брать оба набора данных, добавлять их и удалять обманки. Независимо от того, что означает «неправильные данные», оно должно присутствовать в отдельных запросах. –
@ ÁlvaroGonzález yep Мне нужны оба набора данных, я забыл изменить тип данных, потому что слишком много внимания уделяйте предупреждению в редакторе запросов на phpmyadmin. –