php - Mysql 查询不工作,给出重复记录

标签 php mysql

我有两个表 tblclients 和 mod_autorenewdomain 我需要的 tblclients 列:

  1. ID
  2. 名字
  3. 姓氏

mod_autorenewdomain 列:

  1. ID
  2. 用户ID
  3. 自动续订

我已经插入了 mod_autorenewel 表,接下来我想显示未添加到 mod_autorenewel 表中的客户端 我正在尝试的查询不起作用

Select  c.id,c.firstname,c.lastname from tblclients as c  join mod_autorenewdomain as m ON c.id!=m.userid ORDER BY c.id ASC

显示结果如下:

id  firstname   lastname    
12  Adil        Mukarram
13  M. Mahad    Ashraf
14  Zeeshan     Mushtaq
14  Zeeshan     Mushtaq
15  Muhammad    Suhaib
15  Muhammad    Suhaib

首先,我在 mod_autorenewdomain 表中添加了 id 12 和 13,因此这些记录不会显示,但它们会显示 其次,其他记录都是重复的,请指导我。

最佳答案

您想要使用左联接来查找不匹配的记录:

Select  c.id, c.firstname, c.lastname
from tblclients c left join
     mod_autorenewdomain m 
     on c.id = m.userid
where m.userid is null
order by c.id ASC;

也就是说,使用FROM 子句来查找匹配项。然后使用 WHERE 子句查找不匹配的记录。

关于php - Mysql 查询不工作,给出重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31316316/

相关文章:

php - SQL - 按关联值分隔结果?

php - 使用 Cakephp,如何在我的脚手架添加、编辑 View 中获取多选元素或 hasMany 关系的复选框?

php - 复杂数据库设置的开发环境?

mysql - Magento:根据价格更改类别中的产品位置

php - 从两个表中获取数据并将它们收集到数组中并计算一个表结果的行数

javascript - jquery 标签不是由 $.post 生成的

php - 我为 mysql_connect() 使用什么密码和用户名?

具有相关性的 PHP PDO 搜索引擎

PHP 准备语句通知 : Only variables should be passed by reference

PHP 尝试从组合框中获取值