1

以下にクエリがありますが、うまくいきます。

$query_for_cat3 = "SELECT   sum,candidate_no,@curRank := @curRank + 1 AS rank
FROM        (SELECT      SUM(score) / 5 SUM,candidate_no
          FROM        SCORE 
          WHERE category_no='$category_no1'
          GROUP BY    candidate_no
        ) a, ( SELECT @curRank := 0 ) r

ORDER BY    sum DESC,candidate_no DESC
LIMIT 5";

私がする必要があるのは、このクエリを候補者という名前の別のテーブルに結合することです。これには、候補番号と候補名の列があります。対応する候補番号に関して候補名を作成したいと思います。

助けてください。ありがとう。

4

3 に答える 3

1

これはあなたが探しているものですか?

SELECT temp.candidate_no,
       C.candidatename,
       temp.[sum],
       temp.rank
FROM candidate C INNER JOIN
(SELECT   sum,candidate_no,@curRank := @curRank + 1 AS rank
FROM        (SELECT      SUM(score) / 5 SUM,candidate_no
          FROM        SCORE 
          WHERE category_no='$category_no1'
          GROUP BY    candidate_no
        ) a, ( SELECT @curRank := 0 ) r

ORDER BY    sum DESC,candidate_no DESC
LIMIT 5) As temp

ON C.candidate_no=temp.candidate_no
于 2013-07-26T03:06:28.160 に答える
0

このような結合を行うことができます

SELECT 
    table1.field
    table2.field
FROM 
    table1
LEFT JOIN 
    table2
ON 
    table1.field=table2.field
于 2013-07-26T03:05:51.093 に答える
0

2 つのテーブルからデータを選択する場合は、両方のテーブルに主キーまたは外部キー メソッドが必要です... Candidate_no が主キーとして 1 つのテーブルにあり、外部キーとして他のテーブルにある場合のように、これを使用してアクセスできます次のデータ::

select * from table_name1 where Candidate_no=(name="Charn" の table_name2 からの候補番号を選択);

于 2013-07-26T04:20:03.483 に答える