私は利用可能なコースのリストと人が受講したコースのリストを知っています。受講していないコースをカンマ区切り形式で選択/出力するにはどうすればよいですか?
SELECT to list all courses:
SELECT DISTINCT(COURSE) FROM tblCOURSE
SELECT to list all courses taken by user
SELECT DISTINCT(COURSE) FROM tblCOURSE WHERE pid='XXXXX'
を使用して、LISTAGG(COURSETYPE, ',') WITHIN GROUP (ORDER BY pid,course)
それらを `COURSE2、COURSE4、COURSE5、COURSE6、COURSE7、としてリストしたいと思います。
例:利用可能なコースのリストは次のとおりです。
COURSE1,COURSE2,COURSE3,COURSE4,COURSE5,COURSE6,COURSE7,COURSE8
人が受講するコースのリストは次のXXXXX
とおりです。
COURSE1,COURSE3,COURSE8
SELECTの出力/結果は次のようになります。
PID COURSES
--------------------------------------------------
XXXXX COURSE2,COURSE4,COURSE5,COURSE6,COURSE7`
--------------------------------------------------
COURSES
もちろんpidXXXXX
が取っていないリストはどこにありますか。