繁体   English   中英

合并 SQL 中的 json 中没有公共列的两个表

[英]merge two tables without common column in a json in SQL

我有 2 个表格,例如table1 (column1,column2)插入了多行, table2(column3,column4,column5,column6)只有一个。 是否可以合并一个 json 字符串? 我尝试 select 与 json Auto 但我不能确保不重复表 2 的行数表 1 的行数

我想要的结果是这样的:

{"Table1Name" :[{"column1":1,"column2":2},{"column1":3,"column2":4},{"column1":5,"column2":6}],"column3":a,"column4":b,"column5":c,"column6":d}

您尚未指定要使用的 SQL 版本,但是,如果您使用的是 MS SQL 服务器,则可以达到您想要的结果,如下所示:

-- Creating tables to simulate your data
DECLARE @table1 as table (column1 int, column2 int)
DECLARE @table2 as table (column3 char(1), column4 char(1), column5 char(1), column6 char(1))

INSERT INTO @table1
VALUES (1, 2), (3, 4), (5, 6)

INSERT INTO @table2
VALUES ('a', 'b', 'c', 'd')

-- Use FOR JSON AUTO to reduce the results from Table1 into a single value before cross joining to Table2
SELECT *
FROM (
    SELECT *
    FROM @table1
    FOR JSON AUTO
) AS A(Table1Name)
CROSS JOIN @table2 AS B
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM