У меня есть основной оператор выбора, который должен получить мне список типов, которые хранятся в базе данных:TSQL Выберите пункт с сазом
SELECT teType
FROM BS_TrainingEvent_Types
WHERE source = @source
FOR XML PATH ('options'), TYPE, ELEMENTS, ROOT ('types')
Моей таблица содержит столбец типа и столбец источника.
В этой таблице есть запись, в которой мне нужно включить ее для двух отдельных источников, но я не могу создать для нее отдельную запись.
**Table Data**
type | source
test users
test2 members
test3 admins
мне нужен случай заявление, чтобы быть в состоянии сказать IF source = admins also give me the type test2
.
Это имеет смысл и возможно ли это сделать с помощью базового выбора?
Update Я придумал этот темп решения, но я до сих пор считаю, что это лучший способ справиться с этим .:
DECLARE @tmp AS TABLE (
QID VARCHAR (10));
INSERT INTO @tmp (QID)
SELECT DISTINCT qid
FROM tfs_adhocpermissions;
SELECT t.QID,
emp.FirstName,
emp.LastName,
emp.NTID,
(SELECT accessKey
FROM TFS_AdhocPermissions AS p
WHERE p.QID = t.QID
FOR XML PATH ('key'), TYPE, ELEMENTS, ROOT ('keys'))
FROM @tmp AS t
LEFT OUTER JOIN
dbo.EmployeeTable AS emp
ON t.QID = emp.QID
FOR XML PATH ('data'), TYPE, ELEMENTS, ROOT ('root');
FYI, это выражение CASE *, а не оператор CASE *. –