Я работаю над проблемой в течение нескольких часов, и мне кажется, что я бегу по кругу.IF EXISTS условия в нескольких заявлениях, соединенных соединением
Я пишу скрипт, который проверяет таблицу и старую базу данных на новую, и хочет также увидеть, есть ли различия в таблицах. Я проделал эту часть, но хочу облегчить чтение. Я в идеале хочу, чтобы результат выполнялся, когда в таблице есть записи, что означает наличие различий. Поэтому, если есть различия в таблицах 1, 4 и 8, вывод будет отображаться в таблице 1, таблице 4, таблице 8. Я добавлю фрагмент кода, но мне нужно изменить некоторые вещи из соображений конфиденциальности.
if exists(
SELECT 'xyz' AS TableName, 1 FROM table1CD
LEFT JOIN database2 CL ON CL.X= CAST(CD.X AS VARCHAR(100)) AND CL.Type = 'type1'
WHERE CL.Type IS NULL
)
Select TableName
Else
UNION
else if exists(
SELECT 'abc' AS TableName, 1 FROM table3 CA
LEFT JOIN database2 CL ON CL.X = CAST(CA.Y AS VARCHAR(100)) AND CL.Type = 'type2'
WHERE CL.Type IS NULL
)
Select TableName
Else
union
more tables with repeating structure
Im все еще очень новый с этим видом SQL. Я получаю ошибки, когда я запускаю это и постоянно меняю его, чтобы попытаться понять это, но Im на стене сейчас.
Итак, вы хотите получить список, предположительно, в виде dataest в одну колонку из таблицы, есть различия? Или только первая таблица, с которой вы сталкиваетесь с различиями (как подразумевается вашей логикой if/else)? –
Список, в котором перечислены все таблицы, которые имеют разницу. –