两个链接:Link 1和Link 2。为什么列值的结果不同????MySQL 版本中的正确结果。对于 SQLite 版本中的相同结果,我必须做什么?
第一张表:
CREATE TABLE Subjs
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
subj varchar(50)
);
INSERT INTO Subjs (subj) VALUES ('chair');
INSERT INTO Subjs (subj) VALUES ('table');
第二张表:
CREATE TABLE Params
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
param varchar(50)
);
INSERT INTO Params (param) VALUES ('lenght');
INSERT INTO Params (param) VALUES ('width');
INSERT INTO Params (param) VALUES ('height');
第三张表:
CREATE TABLE Subj_Param_value
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
value varchar(50),
subj_id INTEGER NOT NULL,
param_id INTEGER NOT NULL
);
INSERT INTO Subj_Param_value (value, subj_id, param_id) VALUES ('20', 1, 1);
INSERT INTO Subj_Param_value (value, subj_id, param_id) VALUES ('30', 1, 2);
INSERT INTO Subj_Param_value (value, subj_id, param_id) VALUES ('150', 1, 3);
INSERT INTO Subj_Param_value (value, subj_id, param_id) VALUES ('30', 2, 1);
INSERT INTO Subj_Param_value (value, subj_id, param_id) VALUES ('20', 2, 2);
INSERT INTO Subj_Param_value (value, subj_id, param_id) VALUES ('90', 2, 3);
INSERT INTO Subj_Param_value (value, subj_id, param_id) VALUES ('30', 1, 1);
INSERT INTO Subj_Param_value (value, subj_id, param_id) VALUES ('60', 1, 2);
INSERT INTO Subj_Param_value (value, subj_id, param_id) VALUES ('170', 1, 3);
询问:
select * from (
select * from Subj_Param_value ORDER BY id DESC
) t, Subjs, Params
where
Subjs.id=t.subj_id
and Params.id=t.param_id
and Subjs.id=1
group by t.param_id;
我想从第三张表中获取第二张表中所有参数的最新值,以获得第一张表中特定记录的最新值。例如,椅子的长度、宽度和高度的最新值。
SQLite 和 MySQL 的结果不同...我需要 SQLite 版本的结果,就像 MySQL 版本一样。有什么建议吗?