Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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
Php 查询在第二个查询中传递结果的两个单独的表,同时仅在第二个查询返回null时保留第一个查询的结果_Php_Mysql_Mysqli_Mysql Workbench - Fatal编程技术网

Php 查询在第二个查询中传递结果的两个单独的表,同时仅在第二个查询返回null时保留第一个查询的结果

Php 查询在第二个查询中传递结果的两个单独的表,同时仅在第二个查询返回null时保留第一个查询的结果,php,mysql,mysqli,mysql-workbench,Php,Mysql,Mysqli,Mysql Workbench,查询一个表,然后将结果传递给另一个表中的另一个查询,但仅当第二个查询返回null或为空时,才保留第一个查询的结果的最佳方法是什么 我正在尝试从电子邮件所在的帐户中选择id、名称和电子邮件'George@yahoo.com', 'Tom@aol.com' 然后获取返回的id并选择memberId=1,如果为空,则选择member2Id=FAMILY返回的id。如果为NULL,则在第一个查询中返回数据,否则从第一个查询的结果中删除该成员 最有效的方法是什么?起初,我打算做第一个查询。然后将结果id传

查询一个表,然后将结果传递给另一个表中的另一个查询,但仅当第二个查询返回null或为空时,才保留第一个查询的结果的最佳方法是什么

我正在尝试从电子邮件所在的帐户中选择id、名称和电子邮件'George@yahoo.com', 'Tom@aol.com' 然后获取返回的id并选择memberId=1,如果为空,则选择member2Id=FAMILY返回的id。如果为NULL,则在第一个查询中返回数据,否则从第一个查询的结果中删除该成员

最有效的方法是什么?起初,我打算做第一个查询。然后将结果id传递到数组中。然后遍历在第二个查询中传递id的数组,如果它返回NOTNULL,那么我将从数组中删除id。然而,这似乎效率很低,因为我将运行两个单独的查询。我是SQL新手,所以如果有更好的方法,我很乐意学习,谢谢

我想你说的是,但你可能需要进一步解释:

SELECT id, name, email FROM ACCOUNT 
WHERE email IN ('George@yahoo.com', 'Tom@aol.com')
   AND id not in (select member2Id from FAMILY where memberId=1)

第一个查询与第二个查询的关系以及第二个查询似乎有误的另一点,请将您的完整查询放入第二个查询,因为第二个查询可能类似于选择memberid1,从x中选择MemberID作为列为null的family中的menberid2。它们是相关的。第一个查询根据用户的电子邮件检索其id。然后,在第二个查询的族表中将该id用作member2Id。如果第二个查询为空,那么成员是不相关的。如果第二个查询确定它们是不相关的,那么我希望第一个查询检索到的用户id、名称和电子邮件。这回答了你的问题吗?上面的问题不一定是正确的,只是我想解释更多我想做的事情。是的。所以这里您可以使用相关查询来获得所需的输出。您能否构建相关查询。让我知道。我想这真的很接近!谢谢,我要玩一下这个。对于第二部分,它必须采用两个参数,即memberId和member2Id。memberId由运行语句的人提取,member2Id是在第一个查询中找到的id。您做到了!你就是那个男人,非常感谢你!一旦我有更多的代表,我会投票支持这个。我被这个困扰太久了。我的PHP解决方案会慢得多。你有什么书或教程可以推荐吗?不客气,bsub。很抱歉,没有具体的SQL教程可推荐-我从经验中学到了很多东西。一个好的学习方法是在这里不断提问: