5

你能纠正这个查询吗?它显示了一些语法错误。

SELECT * 
 WHERE `id` IN (SELECT DISTINCT unit_trust_managing_company_id 
                  FROM ut_funds 
                 ORDER BY `company_name`)

那里SELECT DISTINCT unit_trust_managing_company_id FROM ut_funds ORDER BY的 company_name` 查询工作正常。

4

2 回答 2

22

你需要一个from子句之前where

SELECT *
FROM <some table here>
WHERE `id` IN (SELECT unit_trust_managing_company_id FROM ut_funds)

此外,该语句不需要distinctand 。order byin

于 2013-08-31T13:07:12.337 回答
0

在大多数(全部?)情况下,您可以在不使用 where 子句中的查询的情况下重写查询,并获得更好的性能。尝试类似:

  SELECT DISTINCT t.*
    FROM some_table t, ut_funds u
   WHERE t.id=u.unit_trust_managing_company_id
于 2013-12-22T23:45:56.450 回答