如何使用SQL

时间:2018-05-28 15:34:08

标签: sql

我试图找出我正在开发的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,则将该数字添加到子请求的结果集中。

感谢您的回复!

1 个答案:

答案 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