簡単な概要なので、これは文脈にあります。アプリケーションのデータベースとして SQL を使用する Java のアプリケーションがあります。ユーザーは質問への回答として 8 つの国を選択する必要があります (これらの国は複数回選択される場合があります。たとえば、オーストラリアは彼らのQ1とQ3の回答)
国 ID は、user_id と一緒に回答テーブルに保存されます。
回答として選択したすべての国名を取得するクエリを作成しようとしています (次に、Java アプリケーションで 8 つのラベルのテキストを設定して、ユーザーが回答として選択した 8 つの国を表示できるようにします)
私はSQL結合などに問題はありません。私が書いたクエリは正しい情報を引き出しますが、誰かが同じ回答(国)で複数の質問に回答した場合、回答された国名のみを返します(基本的には8が返されますただし、同じ国が 2 回選択された場合、返されるのは 7 のみです。これに関する問題は、異なるユーザーが同じ国で異なる質問に回答する可能性があるため、返された回答を単純に使用して、返された行の 1 つからの値で 2 つのラベルを設定できないことです。クエリで(意味があることを願っています)
ここに私のSQLがあります
SELECT C.C_NAME
FROM COUNTRY C INNER JOIN
TBL_ANSWERS T ON
T.ANSWER1_ID = C.C_ID
OR
T.ANSWER2_ID = C.C_ID
OR
T.ANSWER3_ID = C.C_ID
OR
T.ANSWER4_ID = C.C_ID
OR
T.ANSWER5_ID = C.C_ID
OR
T.ANSWER6_ID = C.C_ID
OR
T.ANSWER7_ID = C.C_ID
OR
T.ANSWER8_ID = C.C_ID
WHERE T.USER_ID = '4'
おそらく私が見逃したかなり簡単なものがあると確信していますが、どんな助けも大いに感謝します
また、私の質問が完全に意味をなしていない場合は申し訳ありません。質問があれば喜んでお答えします。
ありがとう