MySql Union未在视图中执行

时间:2009-02-05 17:21:24

标签: mysql

我正在尝试为我创建的2个选择语句的UNION创建一个视图。

UNION在单独执行时工作正常

但问题是当我将它作为一个视图执行时,UNION的第一部分才会被执行。

我使用的查询如下

SELECT DISTINCT products.pid AS id, 
                products.pname AS name, 
                products.p_desc AS description,
                products.p_loc AS location,
                products.p_uid AS userid,
                products.isaproduct AS whatisit 
           FROM products

          UNION
          SELECT DISTINCT services.s_id AS id, 
                services.s_name AS name, 
                services.s_desc AS description,
                services.s_uid AS userid,
                services.s_location AS location,
                services.isaservice AS whatisit 
           FROM services
          WHERE services.s_name

当我单独执行时,上述工作正常。 但是当我将它用作视图时,它并没有给我服务部分的结果。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

来自the union description:

  

第一个SELECT语句中的列名用作返回结果的列名。在每个SELECT语句的相应位置中列出的选定列应具有相同的数据类型。 (例如,第一个语句选择的第一列应该与其他语句选择的第一列具有相同的类型。)

这意味着,该用户ID和位置在第二个select语句中混淆。