我们正在研究关于数据库的讲座,我们不确定我们的解决方案是否是解决此类问题的正确方法。如何加入多个表格并找到对
相关关系的转换:
- 讲座(LectureID [PK],LectureTitle,ProfInitials)
- VG(LectureID [PK,FK1],SubjectTitle [PK,FK2]
- 主题(Titel的 [PK],说明)
的任务是找到对讲座( “Vorlesung”)有一个主题(” Gebiet“)。结果表格应包含两个讲座的名称(“VTitel”)和共享主题的标题(“Titel”)。
我们想出了是
SELECT "T1"."VTitel", "T2"."VTitel", "T1"."Titel"
FROM (SELECT v1."VTitel", "Titel" FROM "Vorlesung" v1 NATURAL JOIN "VG" g) AS "T1"
JOIN (SELECT v1."VTitel", "Titel" FROM "Vorlesung" v1 NATURAL JOIN "VG" g) AS "T2"
ON "T1"."Titel" = "T2"."Titel" AND "T1"."VTitel" <> "T2"."VTitel";
这是解决这个正确的方法或者是有一个更简单的方法来做到这一点的soulution?
您正在使用哪种数据库管理系统? MySQL,SQL-Server,PostgreSQL,Oracle?还有别的吗? –
'NATURAL JOIN'不包括SQL Server。你有一个ANSI SQL测试RDBMS吗? –
PostgreSQL用于测试目的。但是我们必须使用标准的SQL-92。 – masinger