mysql - 没有公共(public)键的 SQL 连接查询

标签 mysql sql join

我有这个获取客户列表的查询

SELECT CONCAT(first_name, ' ', last_name) as customer_name, customer_email as customer_email FROM customers WHERE user_level = 'customer')

对于每一行我都想追加这个查询

(SELECT CONCAT(first_name, ' ', last_name) as seller_name, seller_email FROM users WHERE user_level = 'seller')

对于每个客户,卖家都是一样的,因为我的表中只有一个卖家,所以我想得到这个输出。我该如何创建它?

customer_name    |     customer_email    |    seller_name    |     Seller_email
-------------------------------------------------------------------------------
some customer    |   xxxxxxxxxxx         |    this seller    |    seller@email.com
some customer1   |   xxxxxxxxxxx         |    this seller    |    seller@email.com
some customer2   |   xxxxxxxxxxx         |    this seller    |    seller@email.com

最佳答案

因为您的users 表中只有一条记录,您可以使用cross join 来获得您想要的结果;

SELECT CONCAT(c.first_name, ' ', c.last_name) as customer_name, 
       c.customer_email as customer_email,
       CONCAT(u.first_name, ' ', u.last_name) as seller_name, 
       u.seller_email 
FROM customers c cross join users u
WHERE c.user_level = 'customer'
      and u.user_level = 'seller'

关于mysql - 没有公共(public)键的 SQL 连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360240/

相关文章:

mysql - 在mysql中结合order by

mysql - 在 PHPMyAdmin 中设置触发器

sql - 将输出写入 postgreSQL 中的文件?

mysql - 使用sql修改表

php - 使用 PHP + MySQL Left Join 合并来自 2 个查询的结果

mysql - 在sql中使用内连接创建表

mysql - 如何通过 id 列表(包括重复的 id)获取行?

php - 图片库与数据库配合?

sql - 为什么 Oracle SQL 不允许我们在 GROUP BY 子句中使用列别名?

mysql - SQL - "merge"3 个带有 JOIN 的表