Slide 14
Slide 14 text
SELECT rs.id as ris, 2 as ps from rs
WHERE rs.wid = 123
UNION ALL
SELECT rs.id as ris, 1 as ps from rs
INNER JOIN ps ON rs.id = ps.rid
WHERE ps.uid = 123
UNION ALL
SELECT rs.id as ris, 2 as ps from rs
INNER JOIN ts ON rs.oid = ts.oid
INNER JOIN tms ON ts.id = tms.tid
WHERE ts.n = 1
AND tms.uid = 123
UNION ALL
SELECT rs.id as ris, GROUP_CONCAT(distinct ts.p) as ps from rs
INNER JOIN tms rt ON rs.id = rt.rid
INNER JOIN ts ON rt.tid = ts.id
INNER JOIN tms ut ON ts.id = ut.tid
WHERE ut.uid = 123
AND ts.n != 1
AND ts.p in (0,1,2)
GROUP BY rs.id
UNION ALL
SELECT r.id as ri, 0 as p from rs
JOIN us ON rs.wid = us.id
JOIN ts ON ts.oid = us.id
JOIN tms ON ts.id = tms.tid
WHERE us.type = 0
AND ts.n = 1
AND tms.uid = 123
AND (rs.p = 0)
AND rs.pid IS NOT NULL
WHERE rs.id = ris