【发布时间】:2016-02-23 02:50:19
【问题描述】:
给定两个表 A 和 B,我想要 A 中的所有记录,其中 A.Param = "X"。我还想要 B 上的 LEFT JOIN,其中 B 包含各种 A.Ids 的试验记录,用于各种实验 m、n、o...
B 上的记录的时间戳为 B.TrialTime (DateTime)。随着设计的进行,B 中的相同 A.Id 可以对同一实验进行多次试验,为了 LEFT JOIN 的目的,我只需要最新的试验。这是我想出的:
SELECT A.*, B.Experiment, B.Response, B.Evaluation, MAX(B.TrialTime) FROM A
LEFT JOIN B ON B.UserID = A.ID
WHERE A.Param = "X" GROUP BY concat(B.UserID, B.Experiment)
问题是,它不再充当 LEFT JOIN,即我没有从 A 获取所有用户,即使他们在 B 中没有任何记录,这正是我所需要的。有什么帮助吗?
【问题讨论】:
-
请发布您的相关表结构代码 (
create table code)