php - SQL SELECT 问题

标签 php mysql sql mysql-error-1242

我正在尝试执行分两部分执行的 SQL 查询。

首先,我有一个返回 10 个 ID 列表的查询。 但是后来我想要一个 SELECT 语句,其中有一个 WHERE 子句用于这 10 个 id。

这可能吗?

我试过:

    SELECT * FROM tablenameWHERE id= (SELECT id FROM table_of_ids WHERE 
    tableid='1a177de1-3f25c9b7910b' OR 
    tableid='64faecca-133af807a65a' OR
... up to 10 Ids)

但它返回一个错误,指出子查询返回超过 1 行。

注意,table_of_ids 的 tableid 和 id 列是不同的值。

有人知道怎么实现吗? 我自己似乎也不知所措。

如果重要的话,我正在使用 mySQL 和 PHP。

干杯, 布雷特

最佳答案

不是一个非常优化的查询,但您可以使用 IN 而不是 =

 SELECT * FROM tablename WHERE id IN (SELECT id FROM table_of_ids WHERE 
    tableid='1a177de1-3f25c9b7910b' OR 
    tableid='64faecca-133af807a65a' OR
... up to 10 Ids)

关于php - SQL SELECT 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6321939/

相关文章:

php - Hybridauth - PHP - Facebook 返回无效的用户 ID

mysql - 存储过程不在mysql中使用游标返回多行

java打印出一个arraylist来构建一个sql字符串

php - SQL 插入忽略不起作用

javascript - 如何通过隐藏输入元素将 PHP 字符串变量传递给 Javascript 函数

php - Magento 1.9.1.0 订单确认未发送

php - 尝试优化代码以根据多个/不同条件输出值

mysql - 如何解决这个特定的查询?

java - 使用java获取mysql数据库大小

java - 如何通过spring数据查找不同字段具有相同值的实体?