MYSQL Union应用于第二个语句的限制不会返回记录

时间:2015-10-08 04:16:11

标签: mysql

对查询有点困惑。我把它简化为它的本质。 第一个语句是UNION ALL之前的选择 第二个语句是UNION ALL之后的选择。

目标:在第一个语句中返回所有结果,然后限制第二个语句的结果。 发生了什么:如果我要求限制为1,那么它不会向我显示第二个声明中的任何记录。但是会显示第一个声明的2条记录。 有谁知道如何解决这个问题?

CREATE
    OR REPLACE VIEW qrytest
     AS (
select *
from
(select field1,field2
from tableOne) as tbl1
UNION ALL
select *
from 
(select field1, field2
from tableOne limit 1) as tbl2

);


select *
from qrytest
where field2 = 10

1 个答案:

答案 0 :(得分:0)

观察您的CREATE VIEW声明;我认为您不需要第二个选择语句,如下所示,因为您只是复制该表中的记录。

select *
from 
(select field1, field2
from tableOne limit 1) as tbl2

您的查询可以修改为

CREATE OR REPLACE VIEW qrytest
     AS (
select field1,field2
from tableOne
);