关于使用sql查找一致座位号的问题?

uoifb46i  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(243)

我找到了一个代码来找到电影院的一致座位号。但我不明白什么是“头”,尤其是它的语法。谁能解释一下:头儿(我在谷歌上搜索了一下,但没有得到任何帮助。)非常感谢!

SELECT 
    s1.seat AS start_seat,
    '~',
    s2.seat AS end_seat
FROM 
    Seats s1, Seats s2 
WHERE 
    s2.seat = s1.seat + (:head_cnt -1 )
    AND NOT EXISTS ( SELECT 
                         *
                     FROM 
                         Seats s3
                     WHERE 
                         s3.seat BETWEEN s1.seat AND s2.seat
                         AND s3.status <> 'available')

这是原始表格:

CREATE TABLE Seats
( seat     INTEGER      NOT NULL,
  status   VARCHAR(32)  NOT NULL,
PRIMARY KEY(seat));

状态有两个值:“可用”或“保留”

zengzsys

zengzsys1#

任何以:开头的字符串基本上都是绑定变量。您可以在运行时传递它。为了清楚地解释您的模式,下面的snipping有select:head\u cnt,它要求用户输入值。如果该值作为stack overflow提供,则将显示stack overflow。像wise一样,绑定变量也可以在where子句中传递。也可以将其定义为运行时参数。

相关问题