Учебное пособие Санкт-Петербург «бхв-петербург»


THEN seat_row::integer > max_seat_row_business



Pdf көрінісі
бет187/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   183   184   185   186   187   188   189   190   ...   256
sql osnovi yazika

THEN seat_row::integer > max_seat_row_business
AND seat_row::integer <= max_seat_row_economy
Также проверяем еще одно условие, сравнивая символьные строки:
AND letter <= max_letter;
Последний этап в работе оператора SELECT — это формирование списка выра-
жений, которые будут выведены в качестве итоговых данных. Для формирова-
ния номера места используется операция конкатенации ||, которая соединяет
номер ряда с буквенным обозначением позиции в ряду.
SELECT aircraft_code, seat_row || letter, fare_condition
Итак, SQL-команда, которая позволит за одну операцию ввести в таблицу «Ме-
ста» сразу необходимое число строк, выглядит так:
237


Глава 7. Изменение данных
INSERT INTO seats ( aircraft_code, seat_no, fare_conditions )
SELECT aircraft_code, seat_row || letter, fare_condition
FROM
-- компоновки салонов
( VALUES ( 'SU9', 3, 20, 'F' ),
( '773', 5, 30, 'I' ),
( '763', 4, 25, 'H' ),
( '733', 3, 20, 'F' ),
( '320', 5, 25, 'F' ),
( '321', 4, 20, 'F' ),
( '319', 3, 20, 'F' ),
( 'CN1', 0, 10, 'B' ),
( 'CR2', 2, 15, 'D' )
) AS aircraft_info ( aircraft_code, max_seat_row_business,
max_seat_row_economy, max_letter )
CROSS JOIN
-- классы обслуживания
( VALUES ( 'Business' ), ( 'Economy' )
) AS fare_conditions (
fare_condition )
CROSS JOIN
-- список номеров рядов кресел
( VALUES ( '1' ), ( '2' ), ( '3' ), ( '4' ), ( '5' ),
( '6' ), ( '7' ), ( '8' ), ( '9' ), ( '10' ),
( '11' ), ( '12' ), ( '13' ), ( '14' ), ( '15' ),
( '16' ), ( '17' ), ( '18' ), ( '19' ), ( '20' ),
( '21' ), ( '22' ), ( '23' ), ( '24' ), ( '25' ),


Достарыңызбен бөлісу:
1   ...   183   184   185   186   187   188   189   190   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет