MySQL我可以在SELECT语句中嵌套SELECT LEFT吗?

时间:2014-01-04 10:36:10

标签: mysql

我正在使用一个返回列中前两个名称的查询。我通过拾取第一次出现,周围的所有内容来实现这一点,| 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}}

我希望这有任何意义,而我想要实现的目标是可行的。非常感谢您的阅读。我期待着你的建议。

1 个答案:

答案 0 :(得分:0)

也许我的问题不对,但这就是你要找的东西吗?

SELECT 
CriteriaData,
LEFT(CriteriaData, LEN(CriteriaData) - CHARINDEX(', ', CriteriaData))  AS "2 names"
FROM Table1
WHERE  CriteriaData  LIKE '%, %'
AND Director = 'Director3'