私はこのクエリを持っており、コースを持っているコースstatus = "offering"
とoffered by that user
誰がコースを持ってcourseid "3"
いるかを 返します。
コースに対して2つのレコードを持つsc_c_materialテーブルがあり、これに対して2つの別々の行を表示したい.1行にはsc_c_materialの1番目のレコードを持つsc_courseデータがあり、2番目の行にはsc_c_materialの2番目のレコードを持つsc_courseデータがあります
以下のクエリは、テーブルにある場所をonly return 1 record
含むコースです。私はテーブルからそれらのレコードの両方が欲しいid 9
id 9
2 records
sc_c_materials
sc_c_material
説明が少し難しかったので、私の要点が明確になったことを願っています
SELECT c.`id`,
c.`coursecode`,
m.`title`,
a.`author_name`,
q.`quality`,
m.`comments`,
s.status,
u.id,
m.`material`
FROM sc_courses c,
sc_status s,
sc_c_materials m,
sc_authors a,
sc_quality q,
users u
WHERE c.`statusid`=s.`id`
AND c.`userid`=u.`id`
AND m.`qualityid`=q.`id`
AND m.`authorid`=a.`id`
AND c.`id`=m.`courseid`
AND s.`status`="offering"
AND c.`userid` IN (SELECT userid
FROM sc_courses
WHERE id="3"
GROUP BY userid)