У меня есть 2 больших стола, каждая по 25 столбцов. Оба они содержат одни и те же данные, но столбцы находятся в разных порядках.SQL Server: объединить две таблицы
Как объединить эти таблицы без необходимости переупорядочивать код запроса? Я бы предпочел не делать этого для скрипта ~ 600 строк.
При необходимости я могу привести пример того, как он выглядит, но я действительно не вижу необходимости.
Я до сих пор пробовал;
SELECT * FROM [guest].table1 UNION ALL SELECT * FROM [guest].table2;
SELECT * FROM [guest].table1, [guest].table2;
Я также попытался вставить данные так;
SET IDENTITY_INSERT [guest].table1 ON;
SET IDENTITY_INSERT [guest].table2 ON;
INSERT INTO [guest].table1 id, short_name, name, invention_title, reference, client_id, client_ref, date_case_opened, date_case_closed, case_type, notes, fee_earner, created, last_updated, file_location, foreign_attorney_id, foreign_attorney_ref, country_code, application_number, filing_date, publication_number, invoice_currency, publication_date, status, pct_application_number, pct_case_id, national_phase_entry, base_number, base_country, base_date, base_case_id, divisional_date_lodged, illustrative_image, parent_case_id, parent_application_number)
select id, short_name, name, invention_title, reference, client_id, client_ref, date_case_opened, date_case_closed, case_type, notes, fee_earner, created, last_updated, file_location, foreign_attorney_id, foreign_attorney_ref, country_code, application_number, filing_date, publication_number, invoice_currency, publication_date, status, pct_application_number, pct_case_id, national_phase_entry, base_number, base_country, base_date, base_case_id, divisional_date_lodged, illustrative_image, parent_case_id, parent_application_number
FROM [guest].table2;
Но это дает мне эту ошибку:
SQL Error: Cannot insert explicit value for identity column in table 'exported_cases' when IDENTITY_INSERT is set to OFF.
Любая помощь будет принята с благодарностью!
Чтобы уточнить, я экспортирую базу данных, которая в настоящее время существует в 2 частях (таблица1 и таблица2). У него уже есть PK, и я не вставляю его в него, пока он не будет полностью экспортирован, после чего PK будет установлен на число, большее, чем любой текущий PK.
(мне нужно держать поле идентификатора сохранившийся.)
Поскольку вы вставляете в столбец идентичности с идентификатором IDENTITY_INSERT, вам нужно указать все имена столбцов, в которые вы вставляете, и предоставить значение для Столбец идентификатора. Пусть столбец Identity генерирует значение s, так как именно ваш код подвержен ошибкам, так как в столбце Identity вы можете найти дубликаты. –