首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有不同列的Union多个表,以便按日期排序

具有不同列的Union多个表,以便按日期排序
EN

Stack Overflow用户
提问于 2015-03-17 18:14:16
回答 1查看 108关注 0票数 0

我搜索一个解决方案来执行这个req‘SQL,因为它不工作,like_supplier表和产品表一样正确工作,但是当我添加表注释时--这不起作用--我知道表注释中没有相同的列,但是我如何才能正确地做到这一点呢?提前谢谢。

代码语言:javascript
运行
复制
SELECT DISTINCT * 
FROM (
    (SELECT DISTINCT lp.customer_id, lp.`date`, lp.`product_id`, lp.`classes`, Null as `comment` 
    FROM 
        `like_product` as lp, 
        `supplier_products` as sp 
    WHERE 
        sp.`product_id` = lp.`product_id` 
        AND sp.`supplier_id`=".$customer_id.")

    UNION DISTINCT

    (SELECT DISTINCT ls.`customer_id`,ls.`date`, Null as `product_id`, ls.`classes`, Null as `comment` 
    FROM 
        `like_supplier` as ls, 
        `supplier_products` as sp 
    WHERE 
        sp.`supplier_id`=".$customer_id." 
        AND sp.`product_id` = ls.`product_id`)

    UNION DISTINCT

    (SELECT com.`sender_id`, com.`date`, com.`product_id`, com.`classes`, com.`comment` 
    FROM `comments` as com)) as a

ORDER BY a.`date` desc
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-17 19:05:19

试着澄清所有别名和列名:

代码语言:javascript
运行
复制
SELECT DISTINCT 
  a.id, 
  a.`date`, 
  a.product_id,
  a.classes,
  a.comment
FROM (
  (SELECT DISTINCT 
    lp.customer_id as id,
    lp.`date` as `date`,
    lp.`product_id` as product_id,
    lp.`classes` as classes,
    Null as comment 
   FROM 
     `like_product` as lp
   INNER JOIN 
     (SELECT *

     FROM
       `supplier_products`  
     WHERE 
       supplier_id=".$customer_id."
     ) as sp
   ON
     sp.`product_id` = lp.`product_id`
   )

    UNION DISTINCT

    (SELECT DISTINCT 
       ls.`customer_id` as id,
       ls.`date` as `date`, 
       Null as `product_id`, 
       ls.`classes`, 
       Null as `comment` 
    FROM 
        `like_supplier` as ls
    INNER JOIN
      (SELECT
         *
       FROM
         `supplier_products` 
       WHERE 
         supplier_id=".$customer_id." 
      ) as sp 
    ON sp.`product_id` = ls.`product_id`)

    UNION DISTINCT

    (SELECT 
       com.`sender_id` as id, 
       com.`date` as `date`, 
       com.`product_id` as product_id,
       com.`classes` as classes,
       com.`comment` as comment
    FROM `comments` as com
    )
  ) as a

ORDER BY a.`date` desc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29106726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档