2011-12-19 35 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