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
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'];}