2016-11-07 7 views
0

有効なMySQLクエリですか、ネストしたクエリの外のカラムからエイリアスを使用できますか? WHERE句の条件で、いや、それは外側のクエリ内の式に割り当てられた列の別名を参照するために有効ではありませんネストされたMySQLクエリのカラムエイリアス

select x1 as x1a, x2 as x2a, y1 as y1a, y2 as y2a FROM region WHERE series_id = series_id_a AND EXISTS(
        SELECT x1 as x1b, x2 as x2b, y1 as y1b, y2 as y2b FROM region WHERE series_id = series_id_b AND x1b = x1a AND x2b = x2a AND y1a = y1b AND y2a = y2b 
       ) 

答えて

1

(series_id_aとseries_id_bは、これは関数内で使用することを想定し、機能入力されています) 。

将来の読者の皆さん、そしてこの世界では、すべてのものが良い、美しいものであることを明確にするために... 修飾すべての列の参照。私はあなたが達成しようとしている推測しています何の例として

SELECT r.x1 AS x1a 
     , r.x2 AS x2a 
     , r.y1 AS y1a 
     , r.y2 AS y2a 
    FROM region r 
    WHERE r.series_id = ? -- series_id_a parameter 
    AND EXISTS (SELECT 1 
        FROM region q 
        WHERE q.series_id = ? -- series_id_b parameter 
        AND q.x1 = r.x1 
        AND q.x2 = r.x2 
        AND q.y1 = r.y1 
        AND q.y2 = r.y2 
       ) 
+0

理にかなって、私は予選を知っていますが、そのようなネストされたクエリ内の資格ができ手がかりに持っていました。ありがとうと申し訳ありません。 –

関連する問題