简要概述所以这是在上下文中,我有一个使用 SQL 作为应用程序中的数据库的应用程序用户必须选择 8 个国家作为问题的答案(这些国家可能会被多次选择,例如澳大利亚可能是他们的Q1 和 Q3 的答案)
然后将国家 ID 与他们的 user_id 一起保存到他们的答案表中
我正在尝试编写一个查询,该查询将获取他们选择作为答案的所有国家/地区名称,(然后我将在我的 java 应用程序中设置 8 个标签的文本,以便用户可以看到他们选择作为答案的 8 个国家/地区)
我对 SQL 连接等没有任何问题,我编写的查询确实提取了正确的信息,但是如果有人用相同的答案(国家)回答了多个问题,那么它只返回作为答案的国家名称(所以基本上我希望返回 8但是如果同一个国家被选择了两次,它只返回 7) 这个问题是不同的用户可能会在同一个国家回答不同的问题,所以我不能简单地使用返回的答案并使用返回的行之一中的值设置 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'
我确定我可能错过了一些相当容易的事情,但任何帮助都会非常感激
也很抱歉,如果我的问题没有完全有意义,我很乐意回答您可能遇到的任何问题
谢谢