喜的SQL Server專家,SQL Server行名稱增量
我有可能很容易對你最有問題,但我真的不知道如何解決它。我有兩張桌子,一張叫做網站,另一張叫米。網站表格可以有一個或多個米。當我這樣做加盟:
SELECT * FROM Sites
JOIN Meters
WHERE Sites.ID = Meters.SiteID
WHERE Sites.ID = 1
我得到如下:
ID SiteName SiteID MeterName
1 Site1 1 Meter1
1 Site1 1 Meter2
1 Site1 1 Meter3
現在,我需要將數據從這些兩個表新表複製......我已經有該代碼但我不確定如何執行以下操作:我想爲@MeterName執行一個循環,以便只要站點中有米就會循環併爲儀表分配不同的名稱!在下面的代碼中,它會給我所有我不想要的儀表的Meter 1。
Declare @MeterName varchar(20) = 'Meter 1'
@SiteID int = 1
INSERT INTO METER (MeterName, SiteID)
SELECT @MeterName, @SiteID
我嘗試下面的循環,但我插入後,我不知道如何在SELECT語句中這樣寫:
DECLARE @Name varchar (20) = 'Meter',
@MeterNumber int = 1,
@TheMetername varchar(20)
WHILE (@MeterNumber <= (SELECT COUNT(*) FROM Sites
WHERE SiteID = 1)
BEGIN
SET @TheMetername = @Name + ' ' + cast(@MeterNumber as varchar(20))
PRINT @Name + ' ' + cast(@MeterNumber as varchar(20))
SET @MeterNumber = @MeterNumber + 1
END
INSERT INTO METER (MeterName, SiteID)
SELECT @MeterName, @SiteID
我該怎麼辦這個問題?除了循環還有其他方法嗎?
後所需的輸出爲新表 – peterm