Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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简单嵌套Select语句_Mysql_Select - Fatal编程技术网

MySQL简单嵌套Select语句

MySQL简单嵌套Select语句,mysql,select,Mysql,Select,我有一个表reports,其中包含所有信息和read reports,其中只有Report ID和报告所有者ID 我正在尝试这样做,如果有更好的地方,请纠正我,这样它就可以从与ID 1匹配的read reports中获取所有报告ID,并从报告中选择所有详细信息。报告和已读报告上的报告ID相同 但这句话没有给我任何回音: SELECT a.* FROM `Reports` AS a, (SELECT `Report ID` FROM `Read Reports` WHERE `I

我有一个表reports,其中包含所有信息和read reports,其中只有Report ID和报告所有者ID

我正在尝试这样做,如果有更好的地方,请纠正我,这样它就可以从与ID 1匹配的read reports中获取所有报告ID,并从报告中选择所有详细信息。报告和已读报告上的报告ID相同

但这句话没有给我任何回音:

SELECT a.* 
 FROM `Reports` AS a, 
      (SELECT `Report ID` FROM `Read Reports` WHERE `Id` = 1) AS b
      WHERE a.`Report ID` = b.`Report ID`;
它有什么问题/我如何改进它

谢谢


编辑:我的坏,它的工作很好!!Id 1没有报告。把这个关上L

EDIT2:如果您有改进,仍然发布:p

尝试以下方法:

SELECT a.*, (SELECT `Report ID` FROM `Read Reports` WHERE `Id` = 1) AS b_report_id
FROM `Reports` AS a
HAVING a.`Report ID` = b_report_id;

您的查询似乎没有问题,除非没有匹配的记录,否则它应该返回记录。但如果您说确实存在匹配的记录,我建议您重新阅读您的查询,以确认您使用的列名正确,即未将Id替换为报告Id

你能在帖子中给出你的数据快照吗

顺便说一下,下面的查询应该更好,因为它不涉及派生表:

SELECT `a`.*
FROM `Reports` AS `a`
INNER JOIN `Read Reports` AS `b` ON `a`.`Report ID` = `b`.`Report ID`
WHERE `b`.`Id` = 1;

1064-您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在“WHERE a.Report ID=b_Report\u ID”附近使用的正确语法,请立即尝试。我没有将报告后面的最后一个逗号作为a删除。仍然没有:1054-where子句中的未知列“b_report_id”编辑:我的不好,它工作正常!!Id 1没有报告。把这个关上L