我正在使用一个返回列中前两个名称的查询。我通过拾取第一次出现,
周围的所有内容来实现这一点,| Director | CriteriaData |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Director1|NameA Surname A, NameB SurnameB, NameC SurnameC |
| Director2|NameA Surname A, NameB SurnameB, NameC SurnameC |
| Director3|NameA Surname A, NameB SurnameB, NameC SurnameC |
是名称的分隔符。
这是一个Functioning version @ SQL小提琴。
该表与此类似:
SELECT LEFT(CriteriaData, LEN(CriteriaData) - CHARINDEX(', ', CriteriaData)) AS "2 names"
FROM Table1
WHERE CriteriaData LIKE '%, %'
并且正在运行的查询是:
Director
我想要实现的目标是拥有两个结果列。一个名为2 names
,另一个名为上述查询的结果,称为SELECT
Director,
(LEFT(CriteriaData, LEN(CriteriaData) - CHARINDEX(', ', CriteriaData))
FROM Table1
WHERE CriteriaData LIKE '%, %')AS "2 names"
FROM Table1
WHERE Director = 'Director3'
这是我失败的尝试:Test version,我试图将原始查询嵌套在新查询中。它看起来像这样:
|Director | 2 Names |
||||||||||||||||||||||||||||||||||||||||||||
|Director3| NameA Surname A, NameB SurnameB|
在结果表中我想看
{{1}}
我希望这有任何意义,而我想要实现的目标是可行的。非常感谢您的阅读。我期待着你的建议。
答案 0 :(得分:0)
也许我的问题不对,但这就是你要找的东西吗?
SELECT
CriteriaData,
LEFT(CriteriaData, LEN(CriteriaData) - CHARINDEX(', ', CriteriaData)) AS "2 names"
FROM Table1
WHERE CriteriaData LIKE '%, %'
AND Director = 'Director3'