1

所以,我有两个表,第一个有例如 4 条记录,第二个包含例如两行。它们没有任何关系,只是希望它们以图片上显示的方式一起显示。在此处输入图像描述 我知道可以通过计算它们的行号并使用它们来加入它们,但我很好奇是否有办法在不使用变量的情况下做同样的事情。谢谢你的建议,对不起我的英语:)

4

1 回答 1

2

是的,有一种方法可以不使用变量,直接 SQL
看这个演示:http

://www.sqlfiddle.com/#!2/2eeb2/4 不幸的是,MySql 没有实现像 Oracle、Postgre 这样的分析函数和 MS-SQL:
ROW_NUMBER() OVER (partition by ... order by ... )也不是rownum像 Oracle 那样的伪列,在 MySql 中这样的查询性能很差。

SELECT *
FROM (
  SELECT emp.*,
       (SELECT count(*)
        FROM emp e
        WHERE e.empno <= emp.empno
        ) rownum
  FROM emp
) e
LEFT JOIN (
   SELECT dept.*,
         (SELECT count(*)
          FROM dept d
          WHERE d.deptno <= dept.deptno
          ) rownum
   FROM dept
) d
ON e.rownum = d.rownum; 
于 2013-09-28T10:08:07.443 回答