Как обновить столбец в таблице из запроса на выборку? - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть запрос, но я хочу, чтобы результаты запроса были обновлены в другой таблице, в 3-м, 4-м, 5-м и 6-м столбцах, потому что у меня уже есть значения в первом и втором столбце.

мой запрос:

INSERT INTO customer_info (reader_ID,tag_no,area,max_timestamp) 
SELECT   aisle_info.reader_ID,tag_no,
         aisle_info.area,
         TIMESTAMPDIFF(SECOND,MIN(timestamp),MAX(timestamp)) AS MAXTIME
FROM     tag_logs
   INNER JOIN aisle_info ON
         tag_logs.reader_ID = aisle_info.reader_ID
WHERE    tag_no = 515988190124;

1364 - Поле 'Customer_name' не имеет значения по умолчанию

1 Ответ

0 голосов
/ 24 апреля 2019

В TSQL - вы должны написать оператор update вместо insert into select, поскольку вы обновляете (добавляете) значения в существующую строку в таблице customer_info. Псевдокод должен выглядеть так:

Update C
set C.reader_ID     = A.reader_ID,
    C.tag_no        = A.tag_no,
    C.area          = A.area,
    C.max_timestamp = TIMESTAMPDIFF(SECOND,MIN(T.timestamp),MAX(T.timestamp))

from customer_info C
join aisle_info  A on A. tag_no = C. tag_no --Change here for correct join condition
join tag_logs T ON T.reader_ID = A.reader_ID
WHERE T.tag_no = 515988190124;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...