c# - 如何通过连接从两个表中进行 SQL 选择并获取一个 json 对象
问题描述
请我正在做一个项目,我有点陷入困境。
我的 SELECT 就是这么简单:
SELECT TOP 1
co.[contactid] AS [c.id],
co.[firstname] + ' ' + co.[lastname] AS [c.fullname],
f.[name] AS [p.name],
f.[username] AS [p.username],
f.[date] AS [p.startDate]
FROM [dbo].[table1] co
JOIN [dbo].[table2] f ON co.[contactid] = f.[contact_id]
WHERE co.[lastname] LIKE 'last%'
FOR JSON AUTO
我得到:
[{
"c.id": "1",
"c.fullname": "firstname lastname",
"f": [
{
"p.name": "name1",
"p.username": "Username1",
"p.startDate": "2015-06-15"
}
]}]
我希望结果是:
[{
"c.id": "1",
"c.fullname": "firstname lastname",
"p.name": "name1",
"p.username": "Username1",
"p.startDate": "2015-06-15"
}]
解决方案
您可以使用以下代码:
SELECT *
FROM
(SELECT TOP 1
co.[contactid] AS [c.id],
co.[firstname] + ' ' + co.[lastname] AS [c.fullname],
f.[name] AS [p.name],
f.[username] AS [p.username],
f.[date] AS [p.startDate]
FROM
[dbo].[table1] co
JOIN
[dbo].[table2] f ON co.[contactid] = f.[contact_id]
WHERE
co.[lastname] LIKE 'last%') a
FOR JSON AUTO
推荐阅读
- python - 一个 Python 函数,它为 1 到 n 之间的数字生成并返回一个字典,其中 n 是输入
- reactjs - 如果有人在没有登录的情况下通过 url 访问页面,我们如何创建并返回 404 页面
- excel - 如何从列表框中选择数据?
- python - 在模块的同一子目录中导入文件
- algorithm - 基于可用资源,如何在 Go 中构建依赖图?
- android - 在调试模式下禁用新的 Firebase Crashlytics
- mongodb - MongoDB 未在 docker-compose 上启动
- junit5 - 如何将多个参数传递给@ValueSource
- spring-boot - 从 SCDF 执行任务时,作为部分作业参数公开的数据库凭据
- swiftui - SwiftUI.Font 如何应用 UIFontDescriptor.FeatureKey.featureIdentifier