0

1.i クラス名に基づいて事前定義されたデータが利用可能な 2 つのテーブル seatnumber があります。 2. 予約テーブルで、この番号を特定の予約に割り当てたいと考えています。たとえば、1 つの予約 ID が 3 人の乗客に対して生成されている場合、このテーブルでは 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 に答える