-2
'SELECT * FROM (SELECT * FROM t1
          RIGHT OUTER JOIN t2 ON t1.wid = t2.wid
          WHERE t2.wid IS NULL)
          LIMIT ' . $number;

此 SQL 行不给不回一行,我不知道原因。t1 充满了行,而 t2 是一个空表。

4

1 回答 1

0

鉴于您需要执行 aLEFT OUTER JOIN来检索中的行t1

在进行外部选择之前,您还需要避免内部结果中的列名重复,例如,SELECT t1.*

您可能还需要为内部选择中的派生表提供别名,例如t3...

SELECT t3.* FROM (
    SELECT t1.* FROM t1
    LEFT OUTER JOIN t2 ON t1.wid = t2.wid
    WHERE t2.wid IS NULL)
AS t3;
于 2015-04-01T08:40:57.607 回答