从SQL更改为SQL-CE-语法
我已经就以下代码提出了一个问题: 我在数据库查询(SQLServer)中使用了以下sql语法 我现在改为SQLServerCE(精简版)。 我可以发现,sql Server Compact不支持sql支持的某些命令。(像玛姬·因托) 如何更改代码,使其在SQLServerCompact上工作 谢谢你的帮助! BK 编辑: 该表:表\u球员\u目标\u评分->包含以下数据:从SQL更改为SQL-CE-语法,sql,sql-server-ce,Sql,Sql Server Ce,我已经就以下代码提出了一个问题: 我在数据库查询(SQLServer)中使用了以下sql语法 我现在改为SQLServerCE(精简版)。 我可以发现,sql Server Compact不支持sql支持的某些命令。(像玛姬·因托) 如何更改代码,使其在SQLServerCompact上工作 谢谢你的帮助! BK 编辑: 该表:表\u球员\u目标\u评分->包含以下数据: ID......Team...........Name......HeaderGoal......FreeKickGoal
ID......Team...........Name......HeaderGoal......FreeKickGoal
104 Barcelona Mike 2 1
105 Barcelona Peter 0 0
106 Real Madrid Michael 0 2
107 Real Madrid Terry 0 2
108 Chelsea James 0 0
109 Chelsea Arthur 1 2
110 Chelsea Spence 1 2
现在我想在下表(表_团队_目标_评分)中插入如下数据:
FC.............Goals
Barcelona 3
Real Madrid 4
Chelsea 6
您可以使用
更新
和插入
:
BEGIN TRANSACTION;
UPDATE A
SET goals = B.goals
FROM dbo.table_with_team_and_goals A
INNER JOIN (SELECT team, SUM(headergoal + freekickgoal) AS goals
FROM table_with_goals
GROUP BY team) B
ON A.team = B.team
INSERT INTO dbo.table_with_team_and_goals(team, goals)
SELECT team, goals
FROM ( SELECT team, SUM(headergoal + freekickgoal) AS goals
FROM table_with_goals
GROUP BY team) A
WHERE NOT EXISTS(SELECT 1 FROM dbo.table_with_team_and_goals
WHERE team = A.team)
COMMIT TRANSACTION;
您可以使用
更新
和插入
:
BEGIN TRANSACTION;
UPDATE A
SET goals = B.goals
FROM dbo.table_with_team_and_goals A
INNER JOIN (SELECT team, SUM(headergoal + freekickgoal) AS goals
FROM table_with_goals
GROUP BY team) B
ON A.team = B.team
INSERT INTO dbo.table_with_team_and_goals(team, goals)
SELECT team, goals
FROM ( SELECT team, SUM(headergoal + freekickgoal) AS goals
FROM table_with_goals
GROUP BY team) A
WHERE NOT EXISTS(SELECT 1 FROM dbo.table_with_team_and_goals
WHERE team = A.team)
COMMIT TRANSACTION;
非常感谢你的回答。我能请你解释一下代码的作用吗?非常感谢。A和B从哪里来?
A
和B
是我选择使用的表别名,可能是任何东西。这只是为了简单,谢谢你的评论,拉马克。但也许我没有问清楚我的问题。我想试试下面的->看看我的问题,我已经编辑过了。谢谢..@Bk_u除了您更改了表名之外,这个查询似乎是在做什么。非常感谢您的回答。我能请你解释一下代码的作用吗?非常感谢。A和B从哪里来?A
和B
是我选择使用的表别名,可能是任何东西。这只是为了简单,谢谢你的评论,拉马克。但也许我没有问清楚我的问题。我想试试下面的->看看我的问题,我已经编辑过了。谢谢…@ BKJ.这看起来像这个查询所做的,除了你改变了表名(好,而且,你应该考虑SQL Express /LoalDB而不是CE)。所以表<代码> TabLeTeaveGoalLeals现在是空的,你想知道如何用这些汇总来填充它吗?@ AaronBertrand:谢谢你的评论。是的,表格“table\u team\u goal\u ratings”是空的,我想知道如何用这些总数填充它。问题是,我想写一个程序,它有一个本地数据库。这就是为什么我选择CE。我尽量不指出LocalDB是一个本地DB。而且,CE几乎已经死了(没有进一步的开发),与Express和LocalDB相比,它有一系列明显的限制。你应该查找它,这样你就知道你要删除什么了。(也,你应该考虑SQL Express /LoalDB而不是CE)。所以表<代码> Table StudioGoalLeals现在是空的,你想知道如何用这些汇总来填充它吗?@ AaronBertrand:谢谢你的评论。是的,表格“table\u team\u goal\u ratings”是空的,我想知道如何用这些总数填充它。问题是,我想写一个程序,它有一个本地数据库。这就是为什么我选择CE。我尽量不指出LocalDB是一个本地DB。而且,CE几乎已经死了(没有进一步的开发),与Express和LocalDB相比,它有一系列明显的限制。你应该查一下,这样你就知道你在忽略什么了。