我有 2 个表:p07TABLE 和 p07TABLE_02。它们的结构如下所示。
CREATE TABLE IF NOT EXISTS p07TABLE (
id int NOT NULL AUTO_INCREMENT,
dev_id varchar(20) NOT NULL,
b_level varchar(10) NOT NULL,
trig varchar(5) NOT NULL,
t_stamp datetime DEFAULT CURRENT_TIMESTAMP,
a_sent varchar(5) NOT NULL,
a_stamp datetime DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS p07TABLE_02 (
id int NOT NULL AUTO_INCREMENT,
dev_id varchar(20) NOT NULL,
dev_location varchar(50) NOT NULL,
t_channel varchar(50) NOT NULL,
PRIMARY KEY (id)
);
注意,dev_id 用作链接 2 个表的键。
我使用下面的 SQL 查找 p07TABLE 中每个 dev_id 的最新记录,它按预期工作。
SELECT * FROM p07TABLE WHERE id IN (SELECT MAX(id) FROM p07TABLE GROUP by dev_id);
有人可以分享一些关于如何通过添加 p07TABLE_02
中的 dev_location
和 t_channel
创建 View 的想法吗
上述 SQL 创建的结果?谢谢!!
最佳答案
你可以试试下面-
create view t_viewname as
SELECT a.*,dev_location,t_channel
FROM p07TABLE a inner join p07TABLE_02 b on a.dev_id=b.dev_id
WHERE a.id IN (SELECT MAX(id) FROM p07TABLE a1 where a.dev_id=a1.dev_id)
关于mysql - 如何将表中的字段添加到 SELECT 的结果中以创建新 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58076901/