Union Select не отображает результаты Union
Привет, ребята, так что мой запрос не возвращает мои результаты объединения, когда я задаю имена столбцов основного выбора, иначе
SELECT inspection_number, region, report_date,
inspection_type AS type, customer, customer_number, shipper, po
FROM reports
JOIN (
(
SELECT `key`, `report_key`, `shipper`, `po`, `commodity`, `label`, `status`
FROM `berries`
)
UNION (
SELECT `key`, `report_key`, `shipper`, `po`, `commodity`, `label`, `status`
FROM `melons`
)
UNION (
SELECT `key`, `report_key`, `shipper`, `po`, `commodity`, `label`, `status`
FROM `citrus`
)
UNION (
SELECT `key`, `report_key`, `shipper`, `po`, `commodity`, `label`, `status`
FROM `table_grapes`
)
UNION (
SELECT `key`, `report_key`, `shipper`, `po`, `commodity`, `label`, `status`
FROM `tree_fruit`
)
UNION (
SELECT `key`, `report_key`, `shipper`, `po`, `commodity`, `label`, `status`
FROM `lot`
)
) fruits ON inspection_number = fruits.report_key
WHERE fruits.status = '0' OR fruits.status = '1'
ORDER BY report_date DESC
Не возвращается key
, report_key
, shipper
, po
, commodity
, label
, или же status
Странно работает
SELECT *
inspection_type AS type, customer, customer_number, shipper, po
FROM reports
JOIN ( -- etc.....
Будет? Как я могу это исправить?
1 ответ
Решение
В таблице производных фруктов есть упомянутые столбцы, но в вашем основном выборе вы не упоминаете ни один из них; вы упоминаете только из столбцов inspe_number, region, report_date, inspe__type из отчетов - поэтому он только показывает их.
Если вы хотите включить столбцы фруктов, вы должны указать их в своем главном операторе выбора
то есть что-то вроде:
SELECT inspection_number, region, report_date,
inspection_type, key, report_key, shipper, po, commodity, label, status AS type, customer, customer_number, shipper, po, key, report_key, shipper, po, commodity, label, status
FROM reports
JOIN (