0

1.我有两个表座位号,其中预定义的数据可基于类名 2.在预订表中,我想分配这个号码用于特定的预订。说如果为 3 名乘客生成一个预订 ID,那么在此表中说应该分配 1、2、3 座位号

CREATE TABLE SEATNUMBER
   (    "SEAT_NO" NUMBER,
         "CLASS_NAME" VARCHAR2, 
    "ACTIVE" NUMBER DEFAULT 1 NOT NULL ENABLE, 
   )  

   CREATE TABLE BOOKING
   (        booking_id number,
            seatnumber number    
       )     

座位号表中的活动列用于显示座位是否已分配给某个预订 ID,或者没有 1 表示不分配 2 表示分配

4

1 回答 1

0

要查找未使用的座位号,您可以执行以下操作:

SELECT s.SEAT_NO as UNUSED_SEAT_NO
  FROM SEATNUMBER s
  LEFT OUTER JOIN BOOKING b
    ON (b.SEATNUMBER = s.SEAT_NO)
  WHERE b.BOOKING_ID IS NULL AND
        s.ACTIVE = 1;

我不明白您对 ACTIVE 专栏的评论。在这里,我将您的评论解释为值 1 表示可以分配座位,而 2 表示已经分配。如果我错了,只需将查询更改为使用s.ACTIVE = 2.

分享和享受。

于 2013-07-24T11:28:08.730 回答