mysql 视图

Posted

技术标签:

【中文标题】mysql 视图【英文标题】:mysql views 【发布时间】:2009-02-06 04:12:52 【问题描述】:

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

单独执行时,UNION 工作正常

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

我使用的查询如下

   SELECT DISTINCT
  products.pid        AS id,
  products.pname      AS name,
  products.p_desc     AS description,
  products.p_uid      AS userid,
  products.p_loc      AS location,
  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

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

有人可以帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:

试试这个

   SELECT DISTINCT
  products.pid        AS id,
  products.pname      AS name,
  products.p_desc     AS description,
  products.p_uid      AS userid,
  products.p_loc      AS location,
  products.isaproduct AS whatisit
FROM products
UNION ALL
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

我不确定,我在服务器上的一张桌子上尝试过,它有效。我想它对你有用。 提示这里唯一的区别是我使用“union all”而不是“union”

【讨论】:

以上是关于mysql 视图的主要内容,如果未能解决你的问题,请参考以下文章

mysql中,啥是视图,视图的作用是啥

mysql中的视图

为啥MYSQL很少人用视图,MYSQL的视图和MSSQL的视图有啥本质区别。

关于mysql视图的问题。见补充

mysql视图

mysql视图的作用是啥