2011-01-14 141 views
1

HI我想从子查询中的主查询中获得变量的值相关的mysql子查询

SELECT t1。 ,sq。,计数(不同(t4.col1))作为计数, 从T1 LEFT OUTER JOIN( SELECT t2.col1, t2.col2, t2.col3 来自T2 WHERE t2.col1 = t1.col1
ORDER BY t2.col2 DESC,t2.col1 DESC )作为平方 ON sq.col1 = t1.col1
LEFT OUTER JOIN T3 ON t3.col1 = t1.col4 LEFT OUTER JOIN T4 ON t4.col1 = t1时。 col4 WHERE t3.col2 = x GROUP BY t1.col3 LIMIT 15

当我将它加入同一列时,如何获取子查询sq中变量t1.col1的值?

+0

SELECT T1子查询

  • 。* ,平方* FROM t1 left outer join( select t2.col1 ,t2.col2 ,t2.col3 FROM t2 其中t2 .col1 = t1.col1 为了通过 t2.col2降序 ,t2.col1降序 )作为平方上sq.col1 = t1.col1 其中t1.col3 = X 组由 t1.col1 极限15 – pipe 2011-01-14 12:57:15

  • 回答

    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 
    

    注意:您发布的原始查询包含一些语法错误。

    • SELECT *与组由
    • 为了通过使用外部选择的子查询(你的问题)
    +0

    我需要在子查询中获取t1.col1的值以执行它。 – pipe 2011-01-14 12:59:32