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

如何在SQL中合并无关联的两个表并生成指定组合结果?

如何用SQL生成两张无关联表的全组合结果?

要实现你需要的销售人员和商品的全组合效果,核心是使用SQL的笛卡尔连接(CROSS JOIN)——它会自动将左表的每一条记录与右表的所有记录进行配对,正好满足无关联表的全组合需求。

假设你的两张表字段如下:

  • Dim People表(假设表名为dim_people):存储销售人员名字的字段为name
  • Items表(假设表名为items):存储商品编号的字段为item_id

对应的SQL语句如下:

SELECT CONCAT(p.name, '-', i.item_id) AS combined_result
FROM dim_people p
CROSS JOIN items i
ORDER BY p.name, i.item_id;

补充说明:

  • 字符串拼接函数因数据库不同略有差异:
    • MySQL/MariaDB 使用 CONCAT() 函数
    • Oracle/PostgreSQL 可以直接用 || 拼接:p.name || '-' || i.item_id
    • SQL Server 可用 + 拼接(需确保字段为字符串类型,若为数字需用CAST转换):p.name + '-' + CAST(i.item_id AS VARCHAR)
  • ORDER BY 子句是为了让结果按照销售人员名字、商品编号排序,和你给出的示例顺序完全匹配。

执行这条语句后,就能得到你需要的12条组合记录,格式和示例完全一致。

内容的提问来源于stack exchange,提问作者Álvaro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:15:35