相关的mysql子查询

时间:2011-01-14 12:31:53

标签: mysql sql correlated-subquery

我希望从子查询

中的主查询中获取变量的值

SELECT t1。,sq。,count(distinct(t4.col1))作为计数, 从t1 LEFT OUTER JOIN(                          SELECT t2.col1,                                 t2.col2,                                 t2.col3                           从t2开始                           在哪里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 LETER OUTER JOIN t4 ON t4.col1 = t1.col4 在哪里t3.col2 = x GROUP BY t1.col3 限制15

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

1 个答案:

答案 0 :(得分: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

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

  • 选择* with group by
  • 在子选择中排序
  • 使用subselect中的外部选择(您的问题)