MySQL查询2表1

时间:2012-03-17 01:11:53

标签: php mysql

我在编写MySQL查询时遇到问题,无法从同一数据库中的2个表中获取数据。我不知道如何将2个表基本上组合成1个表,以便我可以使用PHP来显示信息。现在我正在使用2个查询和PHP加入它们......我真的需要人名和他们得到的分数。

tbl_scores
----------
user_id
points

tbl_users
---------
user_id
name

tbl_users有更多的字段,但那些是我认为唯一重要的字段?请帮助或发送我需要查看的内容以了解更多信息。

3 个答案:

答案 0 :(得分:2)

SELECT * FROM tbl_scores RIGHT JOIN tbl_users ON tbl_scores.user_id = tbl_users.user_id;

答案 1 :(得分:1)

您要使用的单词是JOIN ...有关MySQL JOIN的更多信息可以在互联网上找到,但我在这里找到了一个:http://mysqljoin.com/

以下代码未经测试,但应适用于您的方案......

SELECT
    u.name,
    s.points
FROM
    tbl_users AS u LEFT JOIN tbl_scores AS s ON u.user_id = s.user_id

答案 2 :(得分:0)

使用Join和更具体的Left Join因为它会返回左表(tbl_users)中的所有行,即使右表(tbl_scores)中没有匹配项也是如此,这样您甚至可以获得所有用户那些没有得分的人:

   SELECT * FROM  tbl_users LEFT JOIN tbl_scores ON 
     tbl_users.user_id =  tbl_scores.user_id;