Er.RajeshKumar Ответов: 1

Как проверить, существуют ли массовые данные в SQL или нет


у меня есть значение в tvp и проверка в sql существует или нет??

Что я уже пробовал:

создать процедуру sp_test

@List ValidationList только для чтения

как

Начать



если существует (select * from tbl_vendor_master where Vendor_ID IN (SELECT Vendor_ID FROM @List) )
Конец

ZurdoDev

Пока это выглядит неплохо. В чем же вопрос?

1 Ответов

Рейтинг:
11

Richard Deeming

Вы хотите вернуть список элементов из параметра, которые не существуют в SQL?

SELECT
    L.Vendor_ID
FROM
    @List As L
WHERE
    Not Exists
    (
        SELECT 1
        FROM tbl_vendor_master As M
        WHERE M.Vendor_ID = L.Vendor_ID
    )
;
Или список элементов из параметра со статусом, указывающим, существуют ли они в SQL или нет?
SELECT
    L.Vendor_ID,
    CASE
        WHEN Exists( SELECT 1 FROM tbl_vendor_master As M WHERE M.Vendor_ID = L.Vendor_ID ) THEN CAST(1 As bit)
        ELSE CAST(0 As bit)
    End As VendorExists
FROM
    @List As L
;
Или, может быть, вернуть некоторые детали из записей SQL?
SELECT
    L.Vendor_ID,
    M.SomeColumn,
    M.SomeOtherColumn,
    ...
FROM
    @List As L
    LEFT JOIN tbl_vendor_master As M
    ON M.Vendor_ID = L.Vendor_ID
;
(Столбцы поставщика будут следующими: Null для записей, которые не существуют в SQL. Если вы хотите опустить эти записи, используйте INNER JOIN вместо.)

Если эти случайные догадки не охватывают того, что вы пытаетесь сделать, тогда вам нужно улучшить свой вопрос, чтобы точно объяснить, в чем заключается проблема.