Привет SQL Server,SQL строка Имя сервера прибавка
У меня есть проблема, которая может быть легко для большинства из вас, но я действительно не знаю, как ее решить. У меня есть 2 таблицы, один называется сайтами, а один называется метрами. Таблица сайтов может иметь один или несколько метров. Когда я это соединение:
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
Я попробовал следующий цикл, но я не знаю, как написать это в выбранном заявлении после вставки:
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