У меня есть две таблицы и данные, как показано ниже:
Я хочу сравнить два столбца таблицы "Type and MatchType" и определить идентификаторы первой таблицы, в которой Type отсутствует в MatchType. «Type» и «MatchType» являются единственными общими столбцами в обеих таблицах в случае, если мы можем использовать соединение. Например, значение столбца FirstTable во второй строке соответствует второй строке SecondTable, сравнение должно быть таким, как у FirstTable всегда есть числа, а во второй таблице 2 знака перед одинаковыми числами, поэтому мы должны игнорировать символы и проверять ТОЛЬКО числа, а если обасопоставьте, затем проигнорируйте этот идентификатор из первой таблицы. В приведенном ниже примере данных, приведенных ниже, мои выходные данные должны иметь идентификаторы 1 и 3 из FirstTable, поскольку оба «Типа» этих записей равны NULL или отсутствуют в SecondTable.
CREATE TABLE [dbo].[FirstTable](
[Id] [int] NOT NULL,
[Name] [varchar](50) NULL,
[Type] [varchar](50) NULL
)
CREATE TABLE [dbo].[SecondTable](
[ID] [int] NULL,
[Relation] [varchar](50) NULL,
[MatchType] [nvarchar](50) NULL
)
Id Name Type
1 Bam 1234
2 Prish 3433
3 Tomato 4545
ID Relation MatchType
1 Sister NULL
2 Mother PS3433
3 Nomad NULL
4 Nothing PS4322
Ожидаемый результат
Идентификаторы (Из первой таблицы типы соответствующих идентификаторов отсутствуют в MatchType для SecondTable - не забудьте удалить 2 символа впереди взначения MatchType второй таблицы и просто сравните число)
1
3
Я пытался использовать PATINDEX
, но, похоже, он не работает или я делаю что-то не так.