健康一贴灵,专注医药行业管理信息化

SQL 行数据生成器

 

看起来您想为每个 account_id生成两行数据,分别标记为 "a" 和 "b"。
假设您的表名为 accounts,包含 account_id列,数值为 15,您可以使用以下 SQL 语句生成所需格式的数据:
方法 1:使用 CROSS JOIN(推荐)
SELECT a.account_id, t.label
FROM accounts a
CROSS JOIN (SELECT 'a' AS label UNION ALL SELECT 'b') t
ORDER BY a.account_id, t.label;
方法 2:使用 UNION ALL
SELECT account_id, 'a' AS label FROM accounts
UNION ALL
SELECT account_id, 'b' AS label FROM accounts
ORDER BY account_id, label;
方法 3:使用行生成器(PostgreSQL/MySQL 8.0+SELECT account_id, label
FROM accounts
CROSS JOIN (
  SELECT 'a' AS label
  UNION ALL
  SELECT 'b'
) AS labels
ORDER BY account_id, label;
执行结果示例:
account_id  label
1           a
1           b
2           a
2           b
3           a
3           b
4           a
4           b
5           a
5           b

 

posted @ 2026-03-31 16:53  一贴灵  阅读(3)  评论(0)    收藏  举报
学以致用,效率第一