MySQL查询找出匹配的记录

标签 mysql sql mysql-workbench

我有 3 个表: 1) 顾客 2) 租赁 3) Actor 。

我想要这样的结果:租赁表包含客户租借的电影

我们将从这个查询中得到结果:

SELECT customers.first_name,customers.last_name
FROM customers LEFT JOIN
     rentals
     ON customers.customer_id = rentals.customer_id

我想要的是这个结果:我必须找出类型转换中名字和姓氏相同的客户。

我已经使用此查询完成了一个查询,以查找客户表和类型转换之间的匹配结果:

SELECT DISTINCT customers.first_name,customers.last_name
FROM customers JOIN
     actors
     ON customers.first_name LIKE CONCAT('%',actors.first_name,'%') AND customers.last_name LIKE CONCAT('%',actors.last_name,'%') 

请帮助我使用一个查询找出答案。

我尝试了这样的方法,但不知道是否准确:

 SELECT customers.first_name
      , customers.last_name 
   FROM customers 
   JOIN actors 
     ON customers.first_name LIKE CONCAT('%',actors.first_name,'%') 
    AND customers.last_name LIKE CONCAT('%',actors.last_name,'%') 
  WHERE customers.customer_id IN (SELECT rentals.customer_id FROM rentals)

最佳答案

如果您希望客户的名字和姓氏分别与 Actor 的名字和姓氏相同(而不是在相同的模式内),= 就足够了.

SELECT DISTINCT customers.first_name,customers.last_name
FROM customers 
JOIN actors 
ON customers.first_name = actors.first_name AND customers.last_name = actors.last_name  
WHERE customers.customer_id IN (SELECT rentals.customer_id FROM rentals)

关于MySQL查询找出匹配的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49348163/

相关文章:

php - 多个存储过程没有被调用?

mysql - 查询连接多个表

mysql - 在空数据库上解释计划 MySQL

mysql - MySQL 中表比较的多次更新

mysql - 当 SQL 在 SQL 选项卡中正常运行时,为什么创建此 View 会导致错误 1350?

mysql - 通过创建函数使用 mysql 工作台自动生成员工 ID

mysql - 重置mysql root pass

Mysql闰年Dayofyear

php - mysql左连接多列

mysql - 不同行的 SUM