作者SeamusBerloz (轩摩斯)
看板Database
标题[SQL ] 如果是0笔资料,想强制输出至少一笔 NULL
时间Fri Oct 9 21:21:38 2015
资料库名称:
>> PostgreSQL
资料库版本:
>> V9.0.0
内容/问题描述:
>> 如果 SELECT 是 0 笔资料,想要强制输出至少 1 笔 NULL or something
各位大大们好,下面是小弟的一个资料表格:
SELECT * FROM card_group_set;
id | cardid | ctrlno | group_no
----+--------+--------+----------
1 | 2 | 86 | 16
2 | 2 | 20 | 16
3 | 2 | 51 | 16
4 | 3 | 20 | 16
5 | 3 | 86 | 16
6 | 3 | 51 | 16
----+--------+--------+----------
(6 rows)
现在想要针对 group_no 栏位进行取值,已知 group_no 有效值为 1 ~ 64,
若指定的条件正确,正常可输出已存有的 group_no 资料:
SELECT group_no FROM card_appset WHERE cardid = 3 AND ctrlno = 86;
group_no
----------
16
----------
(1 row)
而若指定了某个不存在的条件值,回应将是 0 笔,如下:
SELECT group_no FROM card_group_set WHERE cardid = 7 AND ctrlno = 71;
group_no
----------
----------
(0 rows)
想请问的是,什麽样的 SQL 语法,可以使得产生这样的输出:
前提条件是,必须能输出 1 笔资料就好,但不可以是 0 笔,否程式将无法接手。
group_no
----------
(NULL or ' ' or ... ) <-- 任何足以辨认 group_no 为无效的资料
----------
(1 row) <-- 能输出至少一笔,方便程式接手继续处理。
拜托各位热情解答了,小弟在此感谢!!
--
边提供协助,边锻链自己...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.240.207.14
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1444396910.A.73B.html
2F:→ SeamusBerloz: 感恩!没错~就是这样!弱弱的说一下,可以解释一下 10/10 22:45
3F:→ SeamusBerloz: 语法作用吗? 10/10 22:46
4F:推 chippclass: 有哪个字看不懂的吗? left join ? select 3,86 ? 10/10 23:27
5F:→ SeamusBerloz: 我想为什麽不是 natural join?加入 left 的差异是? 10/11 01:11