2011-01-14 3 views
1

下位クエリ内のメインクエリから変数の値を取得したい関連するmysqlサブクエリ

SELECT t1 、sq。 LEFT OUTER JOINをT1から、カウント数として(異なる(t4.col1))、 ( SELECT t2.col1、 t2.col2、T2 FROM t2.col3 t2.col1 = t1.col1
sq.col1 = t1.col1
LEFT OUTER ON SQ としてDESC t2.col1 t2.col2 DESC)BY ORDERはt3.col1 = t1.col4 LEFT OUTERはt4.col1 = T1に対するT4をJOIN ON T3をJOIN。 col4 WHERE t3.col2 = x GROUP BY t1.col3 LIMIT 15

サブクエリsq内の変数t1.col1の値を取得するにはどうしたらいいですか?

+0

SELECT T1。* 、SQ。* FROM

  • ことで、グループで選択* t1 左外部結合( )選択t2.col1 、t2.col2 、t2.col3 FROM t2 ここで、t2 .col1 = t1.col1 ためsq.col1 = t1.col1 にSQとして t2.col2 DESC、t2.col1のDESC )によってt1.col3 = X 基によって t1.col1限界15 – pipe

  • 答えて

    0

    あなたが投稿したクエリと同じ結果を返すことはできません。

    SELECT t1.col3    
    FROM t1 
         left outer join ( 
          select t2.col1 
            ,t2.col2 
            ,t2.col3 
            ,t2.col4 
          FROM t2 
         ) as sq on sq.col1 = t1.col1 
            AND sq.col4 = t1.col1 
    where t1.col2 = x 
    group by 
         t1.col3 
    limit 15 
    

    注:あなたが投稿した元のクエリは、いくつかの構文エラーが含まれています。

    • 副選択で選択し、外側を使って副選択
    • で順(ご質問)
    +0

    私は実行するサブクエリ内のt1.col1の値を取得する必要があります.. – pipe

    +0

    私はあなたがしていないと確信しています。いくつかのテストデータと期待している結果を提供することができれば、代替ソリューションを試すことができます。 –

    +0

    あなたは正しいです...それは私がそれができると思っていた方法ではできません..私はクエリを書き換えました...洞察力のためにたくさんありがとう – pipe