我有一个要求,我有两个不相关的数据表,但我需要为 APEX 报告的每个
FORM
记录列出所有 STUDENT
记录。我对连接进行了搜索,发现最接近的是 FULL OUTER JOIN
,但这依赖于连接列。我正在使用 Oracle 19c。
TBL_FORMS
FORM_ID | FORM_NAME | ITEM_NAME
==============================================
1 | Favorite Color | Blue
1 | Favorite Color | Green
TBL_学生
STUDENT_ID | STUDENT_NAME | STUDENT_GRADE
=========================================
1 | John | 1
2 | Sally | 4
期望的结果
STUDENT_ID | STUDENT_NAME | STUDENT_GRADE | FORM_ID | FORM_NAME | ITEM_NAME
=======================================================================================
1 | John | 1 | 1 | Favorite Color | Blue
1 | John | 1 | 1 | Favorite Color | Green
2 | Sally | 4 | 1 | Favorite Color | Blue
2 | Sally | 4 | 1 | Favorite Color | Green
如果一个表的每一行都应与另一个表的每一行相关,那么您需要一个
CROSS JOIN
:
SELECT *
FROM tbl_forms
CROSS JOIN tbl_students;