即使未满足其中一个where子句,也会在SQL中返回结果

时间:2017-06-02 02:18:32

标签: mysql sql

这是我的问题。我有一个SQL语句:

SELECT * FROM table1 WHERE week_no >= 1 AND week_no <= 5

但结果只返回以下结果。

Col1 | Col2 | Week_No
 A      B       1
 C      D       2
 D      E       4
 F      G       5

我尝试将查询的数组结果推送到&#34; week_no&#34; #3有默认值,但似乎没有用。

我想知道在SQL上执行此操作是否更容易?喜欢插入:

Col1 | Col2 | Week_No
 R      R       3

R-R为默认值。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

你想要一个outer join。这是一种典型的方法:

SELECT COALESCE(t1.col1, 'R') as col1, COALESCE(t1.col2, 'R') as col2,
       n.n as week_no
FROM (SELECT 1 as n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL
      SELECT 4 UNION ALL SELECT 5
      ) n LEFT JOIN
      table1 t1
      ON t1.week_no >= n.n AND week_no <= n.n;

答案 1 :(得分:0)

请尝试检查要插入表格或阵列的每列中的数据类型。