结合表信息

时间:2015-09-08 21:31:57

标签: sql

我有一个包含三个表的简单数据库:

有助于
contributes Table

付款
payment Table

用户
user Table

其中贡献是两个用户付款表之间的关系表。我的问题是,当执行SQL语句来检索关系属性(例如'paid'值 - 并因此在语句中包含contrib表时),查询的结果似乎返回两次。例如,SELECT * FROM user, payment, contributes;生成:

Query Result

SELECT * FROM user, payment;产生:

enter image description here

我唯一的猜测是,SELECT语句只是将用户的每一行与付款的每一行组合在一起贡献< / strong>,很像电源组?

原谅我,如果我遗漏任何明显的东西,任何帮助都会非常感激。此外,为图像中奇怪的表名格式化道歉,这就是phpMyAdmin如何导出它们!

1 个答案:

答案 0 :(得分:0)

SELECT u.id, u.email, u.first_name, u.last_name, c.host, c.paid, p.name, p.total, p.portion
FROM user u
INNER JOIN contributes c
ON u.id = c.user_id
INNER JOIN payment p
ON c.payment_id = p.id