我找到了一个代码来找到电影院的一致座位号。但我不明白什么是“头”,尤其是它的语法。谁能解释一下:头儿(我在谷歌上搜索了一下,但没有得到任何帮助。)非常感谢!
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));
状态有两个值:“可用”或“保留”
1条答案
按热度按时间zengzsys1#
任何以:开头的字符串基本上都是绑定变量。您可以在运行时传递它。为了清楚地解释您的模式,下面的snipping有select:head\u cnt,它要求用户输入值。如果该值作为stack overflow提供,则将显示stack overflow。像wise一样,绑定变量也可以在where子句中传递。也可以将其定义为运行时参数。
![](https://i.stack.imgur.com/ASnr7.png)