提前抱歉,我很难将问题变成真实的话。我想我可能从根本上误解了外键是如何工作的。 这是我的桌子:
- > compte:idC,desci,debit,credit
- > sousCompte:idSc,idC,descri,debit,credit --idc是来自table compte的外键
那么如何将idCompte指向几个表中的外键引用,就像示例abouve一样。
答案 0 :(得分:0)
你需要将你的运动内部加入到你想要比较的所有表中,并留下1的标记。在外部查询中,汇总由MouvementID分组的所有标记。
SELECT
MouvementId=Mouvement.id,
ReferencesCompte=MAX(compteFlag),
ReferencesSousCompte=MAX(sousCompteFlag),
RefrencesRubrique=MAX(rubriqueFlag)
FROM
(
SELECT
Mouvement.id,
compteFlag=CASE WHEN NOT C.idC IS NULL THEN 1 ELSE 0 END,
sousCompteFlag=CASE WHEN NOT SC.idSC IS NULL THEN 1 ELSE 0 END,
rubriqueFlag=CASE WHEN NOT R.idR IS NULL THEN 1 ELSE 0 END,
FROM
Mouvement M
LEFT OUTER JOIN compte C ON C.idC=M.idCompte
LEFT OUTER JOIN sousCompte SC ON SC.idC=M.idCompte
LEFT OUTER JOIN rubrique R ON R.idR=M.idCompte
)AS DATA
GROUP BY
Mouvement.id