麻烦大佬们语句mysql也能使用,怎么用withas三表连接

利用with as分别 查询出 订单的订单ID , 客户ID, 运货商,运货费, 订单明细的订单ID , 产品ID, 销售额((单价*(1-折扣)*数量), 产品的产品ID,类别ID,订购量 三个临时表,再拼接成一个表显示全部字段(运用左联接)

用户DZNws0326467 发布于 2022-4-13 14:02
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-13 14:13(编辑于 2022-4-13 14:14)

要看你的mysql是什么版本了。。5.7以下的版本是不支持with用法的,如果你的mysql支持的话。。就参考类似如下写

  1. WITH

  2. T3 AS

  3. (

  4. SELECT T1.ID, T1.CODE1, T2.DESCRIPTION

  5. FROM TB_DATA T1, TB_CODE T2

  6. WHERE T1.CODE1 = T2.CODE

  7. ),

  8. T4 AS

  9. (

  10. SELECT T1.ID, T1.CODE2, T2.DESCRIPTION

  11. FROM TB_DATA T1, TB_CODE T2

  12. WHERE T1.CODE2 = T2.CODE

  13. )

  14. SELECT T3.ID, T3.DESCRIPTION, T4.DESCRIPTION

  15. FROM T3, T4

  16. WHERE T3.ID = T4.ID

  17. ORDER BY ID;

最佳回答
0
@Lv6资深互助
发布于2022-4-13 14:05
最佳回答
0
yzm339714Lv6中级互助
发布于2022-4-13 14:15

with  data1 as (select * from a), data2 as (select * from b), data3 as (select * fromc)  select * from data1  left join data2 on data1.id = data2.id left join data3  on data1.id = data3.id 

语法基本上就是上面这样,具体的你没给出来,也写不了,with as 就是临时表,然后开始第一个是with as  后面跟着的临时表就加上逗号 加上临时表的表名加上 as 就行了, 然后最后一个不需要逗号结尾,直接写一个总的

  • 4关注人数
  • 376浏览人数
  • 最后回答于:2022-4-13 14:15
    请选择关闭问题的原因
    确定 取消
    返回顶部