2011-12-19 69 views
0

这里的情况是:SQL - 查询选择通过多个表的连接

我搜索与ID(emprempr_cb) 有账单(S)的人支付(transactionsmontant) 这是指transactionscompte_idcomptes相同。 id_compte 这是指comptesproprio.id ,与empr相同。 id_empr ,这将使我们的人ID(emprempr_cb

我想这一点,但我不知道是什么联接设置(CROSS JOIN):

SELECT `empr`.`empr_cb`,`transactions`.`montant` 
FROM `empr`,`comptes`,`transactions` 
WHERE `transactions`.`montant` > `0` 
AND `transactions`.`encaissement` = `0` 
AND `transactions`.compte_id` = `comptes`.`id_compte` 
AND `comptes`.`proprio_id` = `id_empr` 

任何想法如何把连接?

回答

3

此查询已使用隐式INNER JOIN s。它可以这样改写:

SELECT empr.empr_cb 
    , transactions.montant 
    FROM empr 
    JOIN comptes ON comptes.proprio_id = empr.id_empr 
    JOIN transactions ON transactions.compte_id = comptes.id_compte 
WHERE transactions.encaissement = 0 
    AND transactions.montant > 0 
+0

这很完美!其LOIN功能结构,我没有得到正确的。 Merci Beaucoup benoit – BisLibrary 2011-12-19 13:00:44

+0

@BisLibrary:Pas de quoi。 – Benoit 2011-12-19 13:07:34