Php SQL从其他表中选择评级

Php SQL从其他表中选择评级,php,sql,Php,Sql,我有两张桌子 表“用户”和列用户id 带有列额定值和列用户id的表“额外” 如何选择2个表并按评级排序 我的问题 SELECT USER_ID, SUM(RATING) FROM USERS, EXTRA WHERE EXTRA.USER_ID = '{$row['USER_ID']}' 列“字段列表中的用户id”不明确 两个表都有user\u id列。必须指定要选择的选项: SELECT users.user_id, SUM(rating) FROM use

我有两张桌子

  • 表“用户”和列用户id
  • 带有列额定值和列用户id的表“额外”
  • 如何选择2个表并按评级排序

    我的问题

    SELECT
       USER_ID,
       SUM(RATING) 
    FROM
       USERS,
       EXTRA 
    WHERE
       EXTRA.USER_ID = '{$row['USER_ID']}'
    
    字段列表中的用户id
    ”不明确


    两个表都有
    user\u id
    列。必须指定要选择的选项:

    SELECT users.user_id, SUM(rating) FROM users, extra WHERE extra.user_id ='{$row['user_id']}'
    
    切勿在
    FROM
    子句中使用逗号。始终使用正确的显式
    JOIN
    语法

    除此之外,查询过于复杂。您只需引用一次表:

    SELECT e.USER_ID, SUM(e.RATING) 
    FROM EXTRA e
    WHERE e.USER_ID = '{$row['USER_ID']}';
    
    补充说明:

    • 为表名提供表别名,通常是表名的缩写。这使得查询更易于编写和读取
    • 限定查询中的所有列名
    • 不要用参数值来填充查询字符串。SQL提供的参数占位符正好用于此目的
    因此,查询应该更像:

    SELECT e.USER_ID, SUM(e.RATING) 
    FROM EXTRA e
    WHERE e.USER_ID = ?
    

    尝试
    SELECT users.user\u id….
    SELECT users.user\u id,SUM(rating)FROM users,extra WHERE extra.user\u id='{$row['user\u id']}'列'user\u id'在字段列表中是不明确的->因为两个表都包含user\u id,因此请记住始终指定要使用的user\u id…您能提供帮助吗?错误消失了,但它没有显示$row=$db->query(“从dle_用户中选择dle_用户。用户id,dle_用户。名称,总和(评级)在dle_post_附加上加入dle_post_附加。用户id=dle_用户。用户id,其中dle_post_附加。用户id='{$row['user_id']}”);虽然($row=$db->get_row()){echo.“$row['name']。”
    “;}是否
    $row['user_id']
    在dle_posts\u extras中有任何行?您好,它可以工作,但它只显示1个用户。。。如何创建用户列表?while();而($row=$db->get_row()){echo$row['name'];echo$row['rating'];}