簡體   English   中英

SQL從其他表中選擇等級

[英]SQL select rating from other table

我有2張桌子

  1. 表“用戶”的列user_id
  2. 表“額外”的列等級和列user_id

如何選擇2個表格並按評分排序?

我的查詢

SELECT
   USER_ID,
   SUM(RATING) 
FROM
   USERS,
   EXTRA 
WHERE
   EXTRA.USER_ID = '{$row['USER_ID']}'

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 = ?

您的兩個表都有user_id列。 您必須指定要選擇的一個:

SELECT users.user_id, SUM(rating) FROM users, extra WHERE extra.user_id ='{$row['user_id']}'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM