Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL 1-many未返回所有记录_Mysql_Sql - Fatal编程技术网

Mysql SQL 1-many未返回所有记录

Mysql SQL 1-many未返回所有记录,mysql,sql,Mysql,Sql,这应该是SQL 101,但我遗漏了一些东西 我有两张桌子。问题和答案(每个问题有4个可能的答案)。 尝试编写一个查询,返回每个问题以及该问题的每个可能答案。下面是这两个表的外观(截断) 这是我使用的查询 SELECT Questions.X, Questions.Question, Answers.Answer, Answers.Correct FROM Questions LEFT JOIN Answers ON Questions.X = Answers.X; 我还尝试了内部连接、右连接、

这应该是SQL 101,但我遗漏了一些东西

我有两张桌子。问题和答案(每个问题有4个可能的答案)。 尝试编写一个查询,返回每个问题以及该问题的每个可能答案。下面是这两个表的外观(截断)

这是我使用的查询

SELECT Questions.X, Questions.Question, Answers.Answer, Answers.Correct
FROM Questions LEFT JOIN Answers ON Questions.X = Answers.X;
我还尝试了内部连接、右连接、左外部连接和右外部连接,所有这些都有相同的结果

我一直在使用各种数据库这么长时间,这似乎应该是可行的。我不知道Access和MySQL之间有什么区别可以解释这一点


拜托,我做错什么了

对于您向我们展示的表格和数据。问题不在于您的查询,而是您没有向我们展示的其他内容

调试时间

您确定您的表包含您认为它们包含的数据吗?

检查的简单方法:
从问题中选择*和
从答案中选择*

您确定在正确的数据库上运行查询吗?

也许您正在检查SQL shell中的表,但通过程序运行查询?请确保使用相同的接口完成这两件事

您确定正在运行您认为正在运行的查询吗?

您已经发布过一次错误的查询。也许你没有在跑你认为你在跑的东西

您是否在shell中键入了该查询?或者它是通过某个程序创建和执行的?如果是后者,则在shell中测试它,并从程序中打印出完整的查询。您还可以查看MySQL查询日志

您确定您的模式是您认为的吗?


运行
descripe questions
descripe answers
来仔细检查表定义是否有任何有趣的地方。

这在SQLite中运行得很好(我懒得启动MySQL)。查询中的列与数据中的列不匹配。例如,
Questions.Idx
vs
Questions.X
。您是否向我们显示了实际的数据、查询和结果?您确定该查询中没有
GROUPBY X
?乍一看,似乎没有任何错误。尝试在SQLFiddle中重新创建它。您可能没有向我们展示整个画面。另外请注意,您在
X
上加入,但选择了一个神秘的
Idx
右加入
右外加入
是完全相同的事情,顺便说一句(
外部
关键字是可选的,它们都是邪恶的)。接受吗?是哪一个?好的,问题出在这里。Access中的数据没有全部复制到MySQL(这是另一个问题。所以我的查询成功了,只是数据不完整。我想我快疯了!)!。
+---+--------------+--------------+-----+
| X | Question     | Answer       | Crt |
+---+--------------+--------------+-----+
| 1 | A lesion is  | 12 MeV       | Yes |
| 1 | A lesion is  | 9 MeV        | No  |
| 1 | A lesion is  | 6 MeV        | No  |
| 1 | A lesion is  | 16 MeV       | No  |
| 2 | A linear acc | 6 MeV        | Yes |
| 2 | A linear acc | 5 MeV        | No  |
| 2 | A linear acc | 12 MeV       | No  |
| 2 | A linear acc | 20 MeV       | No  |
| 3 | A patient wi | Prostate siz | Yes |
| 3 | A patient wi | T1-T2a       | No  |
| 3 | A patient wi | Gleason scor | No  |
| 3 | A patient wi | PSA <10      | No  |
| 4 | A small tumo | contains few | Yes |
| 4 | A small tumo | contains a h | No  |
| 4 | A small tumo | is easier to | No  |
| 4 | A small tumo | is more easi | No  |
+---+--------------+--------------+-----+
+---+--------------+--------------+-----+
| X | Question     | Answer       | Crt |
+---+--------------+--------------+-----+
| 1 | A lesion is  | 12 MeV       | Yes |
| 2 | A linear acc | 6 MeV        | Yes |
| 3 | A patient wi | Prostate siz | Yes |
| 4 | A small tumo | contains few | Yes |
+---+--------------+--------------+-----+
SELECT Questions.X, Questions.Question, Answers.Answer, Answers.Correct
FROM Questions LEFT JOIN Answers ON Questions.X = Answers.X;