Сбой SQL при добавлении постоянного строкового поля - PullRequest
0 голосов
/ 02 апреля 2019

Когда я добавляю постоянную строку в качестве поля, я получаю сообщение об ошибке

Вот сообщение об ошибке:

Я хотел бы добавить имя таблицы в качестве столбца для моих строкв представлении SQL появляется сообщение об ошибке:

Выполненный оператор SQL:

[...]

Источник ошибки: поставщик данных клиента .Net SQL

Сообщение об ошибке: все запросы, объединенные с использованием оператора UNION, INTERSECT или EXCEPT, должны иметь одинаковое количество выражений и их целевых списков.

SELECT        Location, ClientID, Type_C, Todays_Date, '1100_vAC' as S_Table

FROM            dbo.1100_vAC

UNION ALL

SELECT        Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1100_vAD' as S_Table
FROM            dbo.1100_vAD
UNION ALL
SELECT        Location, ClientID, Type_C, Todays_Date, Time_Stamp,  '1101_AC' as S_Table
FROM            dbo.1101_AC
UNION ALL
SELECT        Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1101_AA' as S_Table
FROM            dbo.1101_AA
UNION ALL
SELECT        Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1102_AC' as S_Table
FROM            dbo.1102_AC;

Я хотел бы видеть для каждой строки исходную таблицу.

Ответы [ 3 ]

0 голосов
/ 02 апреля 2019

Для объединения, пересечения и исключения требуется одинаковое количество столбцов (и, желательно, порядок тоже). У вас есть ошибка, когда вы дублируете TIMESTAMP на всех выборках, кроме первого.

0 голосов
/ 02 апреля 2019

В первой строке содержится 6 столбцов, а в остальных - 7 столбцов, так как в остальных строках дважды добавляется один дополнительный столбец отметки времени.

Объединяет / объединяет все объединения, а не данные, которые объединяются в столбцы. Таким образом, вам нужно поддерживать одинаковое количество столбцов с типом, чтобы убедиться, что все данные синхронизированы и согласованы

0 голосов
/ 02 апреля 2019

Вы должны исправить свой код (удалить дубликат отметки времени)

SELECT        Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1100_vAC' as S_Table

FROM            dbo.1100_vAC

UNION ALL

SELECT        Location, ClientID, Type_C, Todays_Date, Time_Stamp,  '1100_vAD' as S_Table
FROM            dbo.1100_vAD
UNION ALL
SELECT        Location, ClientID, Type_C, Todays_Date, Time_Stamp,  '1101_AC' as S_Table
FROM            dbo.1101_AC
UNION ALL
SELECT        Location, ClientID, Type_C, Todays_Date, Time_Stamp,  '1101_AA' as S_Table
FROM            dbo.1101_AA
UNION ALL
SELECT        Location, ClientID, Type_C, Todays_Date, Time_Stamp,  '1102_AC' as S_Table
FROM            dbo.1102_AC;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...