我有以下东西,就像一个魅力。
SELECT d.decisionName, c.firstname, c.lastname, o.name AS organization_name, s.parent_session_id
FROM tblDecisions d
INNER JOIN tblSessions s ON s.decision_id = d.decisionid
INNER JOIN tblCounselors c ON s.counselor_ck = c.campusid
INNER JOIN tblCounselor_to_organization co ON co.counselor_id = c.counselorid
INNER JOIN tblOrganizations o ON o.organizationid = co.organization_id
AND s.start_time >= '2011-01-01 00:00:00'
AND s.is_complete = TRUE
ORDER BY s.start_time, s.last_name, s.first_name
该字段parent_session_id
(整数)可以存储先前记录的主ID,否则默认为0。如果可能的话,我想做的是使用嵌套或子查询进行以下操作:
检索上述所有内容,但如果它的主 ID 正在被 parent_session_id 字段中的另一个人使用,则删除任何记录。
如果多条记录在 parent_session_id 字段中引用同一条记录(
> 0
),则仅通过时间戳(s.start_time DESC LIMIT 1
)获取最新的一条
我有一种感觉,如果不使查询变得异常复杂,这是不可能的,但是我的查询技能并没有比我上面所掌握的更深入。