MySQL使用查询结果两次

时间:2018-01-28 12:46:38

标签: mysql sql

我有MultiObjectsReturned并希望用一些逻辑创建新表。

我想它就像:

(HARD BIG REQUEST)

如果我尝试使用表格,那将很容易:

SELECT A.col1, B.col1, A.col2, B.col2 ... A.col5, B.col5
FROM (HARD BIG REQUEST) as A, A as B
WHERE A.col3 = B.col3 and A.col2!=B.col2 and A.col1 != B.col1

但是我怎么能在没有两次请求的情况下成功呢?

我试图避免的两次请求:

SELECT A.col1, B.col1, A.col2, B.col2 ... A.col5, B.col5
FROM sometable as A, sometable as B
WHERE A.col3 = B.col3 and A.col2!=B.col2 and A.col1 != B.col1

1 个答案:

答案 0 :(得分:0)

除非您使用MySQL版本8+,否则基本上有两种选择:

  • 视图
  • 临时表

早期版本的MySQL不支持公用表表达式(CTE)。这些类似于WITH子句引入的子查询。与子查询不同,它们可以多次引用。它们是表达查询的典型方式。