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

标签 mysql

我正在尝试一个查询,该查询返回列中的前两个名称。我通过拾取第一次出现的 , 周围的所有内容来做到这一点,这是名称的分隔符。 这是Functioning version @SQL fiddle 。

该表看起来与此类似:

| 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 |

功能查询是:

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

我想要实现的是有两个结果列。一个称为 Director,另一个是上面查询的结果,称为 2 个姓名 这是我失败的尝试:Test version ,我尝试将原始查询嵌套在新查询中。它看起来像这样:

SELECT 

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

FROM Table1
WHERE Director = 'Director3'

在结果表中我想看到

|Director |           2 Names              |
||||||||||||||||||||||||||||||||||||||||||||
|Director3| NameA Surname A, NameB SurnameB| 

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

最佳答案

也许我问错了,但这就是你要找的吗?

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

关于MySQL 我可以将 SELECT LEFT 嵌套在 SELECT 语句中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20919823/

相关文章:

mysql - 提取存储在 MySQL 字段中的第三级文件夹结构

Python:忽略 MYSQL 列名称的大小写敏感性

mysql - 基于日期的总价和基于 mysql 中俱乐部的打印

PHP 和 MySQL 排序日期

MySql - 如何从表中自动删除特定行

php - 添加到带有外键的表

php - 如何以唯一值保存数据库

php - mysql 命令未使用 php 执行

c# - 使用 MySql MySQLMembershipProvider - autogenerateschema ="true"不工作?

mysql - 选择假设 mysql 中 future 日期的记录