[英]How to update a column in a table from a select query?
我有一个查询,但我希望将查询结果更新到另一个表,在第 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;
在 TSQL 中 - 您应该编写update
语句,而不是在insert into select
值更新(添加)到表customer_info
的现有行时insert into select
中。 伪代码应如下所示:
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.