我试图找出我正在开发的API的SQL请求。
所以我们有这个" Paddle"用户注册的表和api必须为paddle提供一个可能的编号(只是一个功能ID)。考虑到用户可以指定自己的拨号号码,我需要创建一个获取每个缺失值的请求。
我已经有了一个sql请求:
select MIN(p.number)+1 FROM Paddle p WHERE not exists(
SELECT pa.number
FROM Paddle pa
WHERE pa.channel = 'ABSENTEE'
AND pa.sale_id = 3
AND p.number + 1 = pa.number) AND p.channel = 'ABSENTEE' AND p.sale_id = 3);
但它无法检测何时没有1号球拍。
频道和sale_id是为了限制数字(我可以有两个划分,1为数字,但不是同一个销售和频道)
所以我想在请求中添加一个部分,如果没有第一个paddle,则将该数字添加到子请求的结果集中。
感谢您的回复!
答案 0 :(得分:0)
我尝试这样的事情:
select pid from
(
select 1 as pid
union all
select p.number+1 from Paddle
) as q
where
pid not in (select p.number from Paddle)
所以,在子查询q
中,我获取了所有可能为空的ID,然后过滤掉用过的ID