0

複数のテーブルをクエリする際に問題があり、MySQL現在頭がおかしいです。

ID各テーブルに一意の があり、 を使用INNER JOINしてそれらを結合しています。私はまったく新しいのでSQL、これは間違った方法である可能性があるため、ここに投稿します:

クエリ:

SELECT res.UserID, res.QuizID, res.QuizResult, u.UserID, u.UserLogin, q.QuizID, q.QuizName, q.QuizFile
FROM results res
INNER JOIN users u ON (res.UserID = u.UserID) 
INNER JOIN quiz q ON (res.QuizID = q.QuizID)

usersに含まれるもの

UserID
UserLogin
UserPass

quizに含まれるもの

QuizID
QuizName
QuizFile

resultsに含まれるもの

UserID
QuizID
QuizResults

デカルト積を取得する理由と、それを修正する方法を教えてください。

4

1 に答える 1

2

これを試して:

SELECT res.UserID, res.QuizID, res.QuizResult, u.UserID, u.UserLogin, q.QuizID, q.QuizName, q.QuizFile FROM results as res INNER JOIN users as u ON res.UserID = u.UserID INNER q ON res.QuizID = q.QuizID としてクイズに参加

INNER JOIN のようなものを実現する別の方法は次のとおりです。

SELECT res.UserID、res.QuizID、res.QuizResult、u.UserID、u.UserLogin、q.QuizID、q.QuizName、q.QuizFile
FROM 結果は res、ユーザーは u、クイズは q
WHERE res.UserID = u.UserID
AND res.QuizID = q.QuizID
于 2009-04-08T10:53:53.333 に答える