php - 查询两个单独的表,在第二个查询中传递结果,而如果第二个查询返回 null,则仅保留第一个查询的结果

标签 php mysql mysqli mysql-workbench

查询表然后将结果传递到不同表中的另一个查询但仅在第二个查询返回 null 或为空时保留第一个查询的结果的最佳方法是什么?

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

最有效的方法是什么?最初我打算进行第一个查询。然后将结果 id 传递到数组中。然后遍历数组,在第二个查询中传递 id,如果它返回不为 null,那么我将从数组中删除 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)

关于php - 查询两个单独的表,在第二个查询中传递结果,而如果第二个查询返回 null,则仅保留第一个查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27415355/

相关文章:

php - 在PHP中使用配置

php - SSL自签名认证,用PHP连接Mysql

php - 使用php将csv文件导入数据库

php - 获取数据并使用循环插入它 (MSQL/I)

php - 在函数中两次使用 Config::set() 的方法

javascript - 如何根据复选框设置另一个表单字段?

PHP 获取 URL 或页面的内容

javascript - 我想要两个 mysql 表与 group_concat 连接导致 json 数组

php - 从 mysql 输出数据到数组 json 让我抓狂

mysql左连接仅选择左表中最高的