CREATE TABLE test3 AS
SELECT
a.STATE
, a.station
, a.ca_no
, a.applicant_name
, a.capacity
--------- more than 5 -----------
, a.commission_date
, a.technology
, a.pmu
, a.ppu
, a.ssu_pe
, a.re_switch_no
, a.voltage
, a.vcb_brand_and_model
, a.scada_y_n
, a.gps_coordinate
, a.plant_manager_phone_number
, a.plant_manager_name
, a.plant_manager_email
, a.highest_md_recorded_a
, a.highest_md_recorded_kw
, a.total_energy_sold
, a.kwh_SEPT17
, a.kwh_OCT17
, a.kwh_NOV17
, a.kwh_DEC17
, a.kwh_JAN18
, a.kwh_FEB18
, a.kwh_MAR18
, a.kwh_APR18
, a.kwh_MAY18
, a.kwh_JUN18
, a.kwh_JULY18
, a.kwh_AUG18
, a.gen_factor_SEPT17
, a.gen_factor_OCT17
, a.gen_factor_NOV17
, a.gen_factor_DEC17
, a.gen_factor_JAN18
, a.gen_factor_FEB18
, a.gen_factor_MAR18
, a.gen_factor_APR18
, a.gen_factor_MAY18
, a.gen_factor_JUN18
, a.gen_factor_JULY18
, a.gen_factor_AUG18
, a.period
FROM test a
В этой части более 5 столбцов: в следующей части 5 столбцов:
UNION ALL
SELECT
b.pss_no AS ca_no
, b.applicant_name
, b.program
, b.scod_date
, b.kick_off_date
FROM newresheet2 b;
Для объединения требуется одинаковое количество столбцов в каждом подзапросе, и для каждого из этих столбцовдолжен иметь «совместимые» типы данных (например, целое число войдет в десятичный столбец, но varchar не войдет в столбец даты).
Совместимы ли КАЖДЫЕ эти пары столбцов?
SELECT
a.STATE
, a.station
, a.ca_no
, a.applicant_name
, a.capacity
FROM test a
UNION ALL
SELECT
b.pss_no AS ca_no
, b.applicant_name
, b.program
, b.scod_date
, b.kick_off_date
FROM newresheet2 b;
"Выравнивание" столбцов НЕ достигается по имени / псевдониму столбца, но по положению в предложении select ниже a.ca_noвыравнивается по b.pss_no, а a.applicant_name выравнивается по b.applicant_name
SELECT
a.ca_no
, a.applicant_name
FROM test a
UNION ALL
SELECT
b.pss_no AS ca_no
, b.applicant_name
FROM newresheet2 b;