为什么我没有得到此查询的任何结果(0 行)?

问题描述 投票:0回答:1

第一部分正在工作。我正在工作日,但当我运行整个查询时,我得到“无行”,即使周一有订单。我无法弄清楚问题出在哪里。如果有人能解决请帮助我。

WITH cte1
     AS (SELECT o.order_id,
                p.price * o.quantity          AS total_spending,
                to_char (install_date, 'Day') AS weekday
         FROM   orders AS o
                LEFT JOIN parts AS p using (part_id)
                LEFT JOIN installs AS i
                       ON o.order_id = i.order_id)
SELECT *
FROM   cte1
WHERE  weekday = 'Monday' 
postgresql
1个回答
0
投票

当我计算 to_char(current_date) 的长度时,我得到的长度是 9,而星期一的长度是 6,因此我做了一个 TRIM 并且它起作用了。SQL 小提琴这里

WITH cte1
 AS (SELECT o.order_id,
            p.price * o.quantity          AS total_spending,
            to_char (install_date, 'Day') AS weekday
     FROM   orders AS o
            LEFT JOIN parts AS p using (part_id)
            LEFT JOIN installs AS i
                   ON o.order_id = i.order_id)
 SELECT *
 FROM   cte1
 WHERE  TRIM(weekday) = 'Monday' 
© www.soinside.com 2019 - 2024. All rights reserved.