SQL вставить запрос с текстовым значением - PullRequest
0 голосов
/ 02 марта 2019

Есть ли способ, которым я могу вставить это в базу данных?

INSERT INTO Bill_Table (Patient_ID, [Med/Room], Bill, [Paid/UnPaid])
VALUES (13, 'Room ID' + (SELECT Room_ID 
                         FROM Room_Master 
                         WHERE [Room_No.] = 2),
        (SELECT Price  
         FROM Room_Type 
         WHERE Room_Type = 'Semi-Private'), 'UnPaid');

после «13» в значениях есть строка «Идентификатор комнаты» плюс выбранный «Идентификатор комнаты», но когда явыполнить это только ID комнаты, вставленный в таблицу, есть ли способ поместить текст строки плюс запрос на выборку

The result here

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Единственная проблема с вашим кодом - это использование + для сокатирования, которое не работает в SQLite.Вместо этого используйте оператор ||:

Insert Into Bill_Table (Patient_ID,[Med/Room],Bill,[Paid/UnPaid])
  values (
    13,
    'Room ID' || ' ' || (Select Room_ID from Room_Master where [Room_No.] = 2),
    (Select Price from Room_Type where Room_Type = 'Semi-Private'),
    'UnPaid'
  );
0 голосов
/ 02 марта 2019

Использовать insert . . . select:

insert Into Bill_Table (Patient_ID, [Med/Room], Bill,[Paid/UnPaid])
    Select 13, concat('Room ID', rm.Room_ID), rt.price, 'UnPaid'
    from Room_Master rm left join
         Room_Type rt
         on rt.Room_Type = 'Semi-Private'
    where rm.[Room_No.] = 2;

В SQLite вы бы использовали оператор concat:

Insert Into Bill_Table (Patient_ID, [Med/Room], Bill,[Paid/UnPaid])
    Select 13, 'Room ID' || rm.Room_ID, rt.price, 'UnPaid'
    from Room_Master rm left join
         Room_Type rt
         on rt.Room_Type = 'Semi-Private'
    where rm.[Room_No.] = 2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...