MySql 选择项目在列表中的位置

标签 mysql

我想做一个类似这样的查询

SELECT * from TableA WHERE ColumnA IN (LIST)

本质上,我想构建一个逗号分隔的列表或其他内容,并确保 ColumnA 中的值位于该列表中。

我可以执行子查询,但我的应用程序中已经有了我需要的列表,并且不想再次查询它。

最佳答案

您可以轻松做到这一点。

如果您的 ColumnA 数据类型是某种文本数据类型,您应该编写程序来生成如下查询:

SELECT whatever FROM TableA WHERE ColumnA IN ('brillig','slithy','tove','gyre')

请注意以逗号分隔的字符串列表,并注意字符串是用 ' 单引号分隔的。

如果您使用绑定(bind)变量,则需要绑定(bind)字符串变量。准备好的查询将如下所示。

SELECT whatever FROM TableA WHERE ColumnA IN (?,?,?,?)

使用列表作为绑定(bind)变量并没有什么魔力(ColdFusion 中除外)。您需要一一绑定(bind)变量。

关于MySql 选择项目在列表中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25559082/

相关文章:

mysql - 从具有相同值但按差异分组的表中选择

php - 使用 PHP 将一系列 Google 文档(.csv 文件)下载到我的站点

php - WebMatrix PHP 查询不起作用

php - 即使使用 DISTINCT,SQL SELECT 查询也会回显两次

mysql - 如何获取(Mysql 表中不存在的 ID 列表?

mysql - 在查询中使用 GROUP_CONCAT 未获得正确的结果

mysql - 由 :java. lang.NoClassDefRoundError:com/mchange/v2/ser/indirector 引起

mysql - 我的触发语句有问题吗?

mysql - SQL 中的 CASE-WHEN-THEN-ELSE 构造

php - 包含和 header php 建议