我有3张桌子。 我需要来自2个表的信息,而第3个表链接它们。 有人可以给我一个使用连接的例子吗? 对于这个例子,我需要保险公司的名字,姓名,生效日期和保单的到期日期。
凡人表
SQL> desc mortal
Name
---------------------
MORTAL_ID
SEX_TYPE_CODE
FIRST_NAME
LAST_NAME
DOB
MARITAL_STATUS_CODE
SSN
MIDDLE_NAME
WORK_PHONE
保险(链接)表
SQL> desc insured
Name
------------------------
INSURED_ID
INSURED_TYPE_CODE
POLICY_ID
MORTAL_ID
BANK_ACCOUNT_NUM
INSURED_NUM
政策表
SQL> desc policy
Name
---------------------------
POLICY_ID
PLAN_ID
POLICY_STATUS_TYPE_CODE
PAYER_GROUP_ID
EFFECTIVE_DATE
POLICY_NUM
EXPIRE_DATE
如您所见,我需要表1和表1中的数据。 3,但必须使用表2来链接它们。 这是什么类型的加入?我该如何使用它们?
答案 0 :(得分:1)
这仍然是一个简单的加入。这是一种方式。
select m.first_name, m.last_name, p.effective_date, p.expired_date
from mortal m
inner join policy p
on p.policy_id = i.policy_id
inner join insured i
on i.mortal_id = m.mortal_id
不确定问题是什么。但如果问题只是“你可以加入一个你没有选择的表格”,那么答案是肯定的。
答案 1 :(得分:1)
您只需要加入表格即可。连接类型取决于您要实现的目标。以下是一个基本示例:
SELECT a.field, c.field
FROM [Mortal Table] a
JOIN [Insured Table] b ON a.MORTAL_ID=b.MORTAL_ID
JOIN [Policy Table] c on b.POLICY_ID=c.POLICY_ID
*WHERE Clause*
希望这有帮助。
答案 2 :(得分:1)
这样的东西?
SELECT mortal.*, policy.*
FROM mortal
INNER JOIN insured ON insured.MORTAL_ID = mortal.MORTAL_ID
INNER JOIN policy ON insured.POLICY_ID = policy .POLICY_ID
您可以使用左连接替换内部联接以查看每个凡人的记录。