You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将产品信息表所有行与客户ID表每行进行交叉连接?

问题描述

现有两个数据表:

  1. 仅含客户ID的表(假设表名为customer_ids):
ID
___
1122
2222
3333
  1. 产品信息表(假设表名为product_info):
| State| User   | Limit
    | CA   | JM21   | 100
    | OH   | JD11   | 200 
    | WV   | KM34   | 250

需求是将所有产品信息关联到每个客户ID,实现第二个表的所有数据与第一个表的每一行交叉连接,期望得到如下结果:

|ID |State | User   | Limit
1122| CA   | JM21   | 100
1122| OH   | JD11   | 200 
1122| WV   | KM34   | 250
2222| CA   | JM21   | 100
2222| OH   | JD11   | 200 
2222| WV   | KM34   | 250

请问是否可以实现?

解答

完全可以实现,你需要的就是交叉连接(CROSS JOIN),它会返回两个表的笛卡尔积,也就是第一个表的每一行都和第二个表的所有行进行组合,正好匹配你的需求。

不同SQL方言有两种常见写法:

  1. 显式使用CROSS JOIN关键字:
SELECT c.ID, p.State, p.User, p.Limit
FROM customer_ids c
CROSS JOIN product_info p;
  1. 隐式交叉连接(用逗号分隔两个表,省略CROSS JOIN):
SELECT c.ID, p.State, p.User, p.Limit
FROM customer_ids c, product_info p;

执行任意一条SQL语句,就能得到你期望的结果表,每个客户ID都会与所有产品信息完成关联组合。

内容的提问来源于stack exchange,提问作者James Knopp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:12:31