ahmed_sa Ответов: 1

Как удалить из таблицы код типа have value или нет ?


Как удалить из таблицы, в случае код типа имеют значение ?

У меня есть временная таблица #temppc

Мне нужно, когда codetype на временной таблице #tempPc не имеет нулевого значения, имеет значение

затем

удалить инструкцию из частей таблицы.TradeCodes будет
DELETE TCC FROM #TempPC t INNER JOIN Parts.TradeCodes TCC ON t.ZPLID=TCC.ZPLID and t.CodeType=TCC.codeType

и если codetype в temp table #TempPc равен null, то удалите statment из частей таблицы.Торговые коды не будут иметь кодового типа

и это будет
DELETE TCC FROM #TempPC t INNER JOIN Parts.TradeCodes TCC ON t.ZPLID=TCC.ZPLID

Итак, как изменить delete statment на запрос ниже, чтобы удалить на основе двух случаев, если codetype имеет значение или нет

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

Как изменить инструкцию delete ниже, чтобы удалить, если тип кода имеет значение или нет
если тип кода имеет значение, то и t.codetype=tcc.codetype
если нет
это будет так, как показано ниже
DELETE TCC FROM #TempPC t INNER JOIN Parts.TradeCodes TCC ON t.ZPLID=TCC.ZPLID

create table #TempPC 
(
[ID] INT IDENTITY,
ZPLID INT,
CodeType int

)

DELETE TCC FROM #TempPC t INNER JOIN Parts.TradeCodes TCC ON t.ZPLID=TCC.ZPLID 

1 Ответов

Рейтинг:
0

Tomas Takac

Если вы хотите mach NULL CodeType в обеих таблицах, то это правильный способ сделать это:

DELETE TCC FROM #TempPC t 
INNER JOIN Parts.TradeCodes TCC 
  ON t.ZPLID=TCC.ZPLID
  AND ((t.CodeType IS NULL AND TCC.codeType IS NULL) OR t.CodeType=TCC.codeType)


ahmed_sa

почему и TCC.codeType имеет значение NULL
я вижу
Т.CodeType значение null, является достаточно

Tomas Takac

Зависит от вашего варианта использования. Если это работает для вас, то все в порядке. Мой пример соответствует записям, имеющим тип кода NULL с обеих сторон.

Maciej Los

5ed!

ahmed_sa

это правильно или неправильно