Я пытаюсь создать представление, которое выбирает между таблицами для выбора записей. Вот вопрос, который я пытаюсь написать.
CREATE OR ALTER VIEW vwTable2
AS
SELECT (CASE WHEN EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl2')
THEN(SELECT fldKey, fldValue, fldDivRef
FROM tbl2
WHERE fldKey IN ('key1','key2','key3'))
ELSE(SELECT fldKey, fldValue,
CASE ISNUMERIC((PARSENAME(REPLACE(fldkey,':','.'),1)))
WHEN 1 THEN (PARSENAME(REPLACE(fldkey,':','.'),1))
ELSE -1
END AS fldDivRef
FROM tbl1
WHERE fldKey LIKE 'key1%' OR
fldKey LIKE 'key2%' OR
fldKey LIKE 'key3%' OR)
)
FROM sys.sysobjects
Я подумал, что sys.sysobjects не будет работать. Я просто привел его для справки, чтобы показать, что я пытался сделать.
Я получил инструкции select и case, работающие в отдельном запросе. Просто не могу заставить работать с view. Может ли кто-нибудь подсказать, что я здесь делаю неправильно, или есть ли другой подход, который я могу попробовать?