我試圖將表格隊伍的所有城市值更新爲:「city」+「#p」+「玩家人數」+「g」+「前進的目標數量」(例如「Tokyo#p25 g74」)。如何在sql中合併計數值
我試圖做到這一點,並有這兩個查詢。一個用於獲得玩家數量,另一個用於獲得目標數量。
查詢爲玩家的數量:
select t.city + '#p' + CONVERT(varchar(10), count(pt.playerId)) + '#g'
from team t,
player_team pt
where pt.teamID = t.teamID
group By t.teamId,t.city
查詢的進球數:
select count(*) totalgoals,
pt.teamID
from goals g,
player_team pt
where g.playerId = pt.playerId
group by pt.teamID
我無法合併theese兩項罪名。 幫我出請...
而且我的表層次結構和字段,如下面所示
player
(
playerID int,
firstName nvarchar(25),
lastName nvarchar(25),
nationality varchar(25),
birthDate smalldatetime,
age smallint,
position varchar(25)
)
team
(
teamID int,
name nvarchar(50),
city nvarchar(25)
)
player_team
(
playerID int,
teamID int,
season varchar(5)
)
match
(
matchID int,
homeTeamID int,
visitingTeamID int,
dateOfMatch smalldatetime,
week tinyint
)
goals
(
matchID int,
playerID int,
isOwnGoal bit,
minute tinyint
)
編輯:選擇查詢與下面給出的運作良好,給我正確的results.But怎麼能我用這多個記錄更新表?當我嘗試更新它作爲子查詢到更新語句,它給了我編譯錯誤和抱怨多記錄...
錯誤:子查詢返回多個值。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。
Mysql,sql-server和splite?那就是很多標籤.. – mxix 2014-12-01 18:47:40
所以在你更新城市之後,當你打進更多的進球時你打算做什麼? – Paparazzi 2014-12-01 19:08:04
SQL Server使用'+'連接,所以我認爲這就是OP正在使用的... – sgeddes 2014-12-01 19:10:50