我正在尝试执行分两部分执行的 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/