php - 在 MySQL 查询中相互检查两个表

标签 php mysql database data-structures

我觉得我正在写一个应用题,但这真的让我很困惑,我真的希望这里有人能解决它:

我想从表 A 中选择一行。表 A 包含属性“名称”和“编号”。但在完成查询之前,我想根据表 B 进行检查。表 B 包括用户的姓名、号码和用户名。 根据用户的输入,它会将包含用户名以及姓名和号码的行插入到表 B 中。 现在,在我从表 A 中选择一行的查询中,我想确保表 B 中没有与该特定用户的名称和号码相匹配的行。

我已经尝试过 WHERE (A.Name = B.Name AND A.Number = B.Number AND B.Username != '$username') 但我认为我的做法大错特错。 任何帮助都会...太棒了。

最佳答案

SELECT
   A.id
FROM
   A
   LEFT OUTER JOIN B ON
      (A.Name = B.Name AND A.Number = B.Number)
WHERE
   B.Name IS NULL
   AND B.Number IS NULL
   AND B.Username = ?

关于php - 在 MySQL 查询中相互检查两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903460/

相关文章:

php - 从远程源下载图像并调整大小然后保存

java - 如何从 prepareCall 方法中获取自定义 CallableStatement 对象

mysql - 如何使用内部选择获取 max(count(*)) 的行

java - 如何在 Logcat 中显示 SQLite 表

node.js - 我的 nodejs 应用程序需要数据库吗?

php - __set/__get 数组属性

通过代理的 PHP 套接字连接

php - 用数组更新 MySql 数据库

php - 选择并插入mysql

mysql - 事务是否像大查询?