Código PHP:
UPDATE Character SET AccountID = (SELECT Id FROM AccountCharacter WHERE
(GameID1 = Character.Name) OR
(GameID2 = Character.Name) OR
(GameID3 = Character.Name) OR
(GameID4 = Character.Name) OR
(GameID5 = Character.Name))
Se alguem puder me ajudar a fazer, uma query que pega todos os dados de uma coluna de determinada tabela
e passa para outra coluna em outra tabela...com um certo porem
Segue exemplo:
Pegar TODOS os dados da coluna ID da AccountCharacter e colocar em uma variavel.(fazendo tipo um laço)
para passar os dados da variavel para a coluna AccountId da tabela Character.
Qndo os Gameid1,2,3,4 e 5 da AccountCharacter forem iguais aos Name's la na Character...
É mais ou menos isso... consegui fazer mas só seleciona 1 id =/ e queria fazer isso em 'massa'
E o pq disso é porque os accountid da character foram zuados =(
Se alguem ajudar agradeço muito.
Sê Sóbrio...
Código PHP:
UPDATE Character SET AccountID = (SELECT Id FROM AccountCharacter WHERE
(GameID1 = Character.Name) OR
(GameID2 = Character.Name) OR
(GameID3 = Character.Name) OR
(GameID4 = Character.Name) OR
(GameID5 = Character.Name))
Deixa eu adivinhar..ficaram todas com "Injected" ?
Obrigado pela query, no sql que tenho em casa funcionou..
porem no servidor principal deu erro que nao permite nulos...
tem como por pra transferir apenas valores reais?
=/
Sê Sóbrio...
UPDATE Character SET AccountID = (SELECT Id FROM AccountCharacter WHERE id is not null and
((GameID1 = Character.Name) OR
(GameID2 = Character.Name) OR
(GameID3 = Character.Name) OR
(GameID4 = Character.Name) OR
(GameID5 = Character.Name)) )
tente assim
@louis
Tentei essa e tambem nao deu, fala que nao pôde inserir valores nulos, pq a coluna nao aceita nulos. =(
Mas se eu colocar pra aceitar nulos, todos AccountId vao ficar como "null" =(
Ta dificil pq sao mtaaaas contas.
Sê Sóbrio...
Código:DECLARE @Name varchar(10); DECLARE setLoop CURSOR FOR SELECT Name FROM MuOnline.dbo.Character OPEN setLoop FETCH NEXT FROM setLoop INTO @Name WHILE @@FETCH_STATUS = 0 BEGIN IF (SELECT AccountID FROM MuOnline.dbo.Character WHERE Name = @Name) = '' BEGIN DECLARE @Account varchar(10); SELECT @Account = Id FROM MuOnline.dbo.AccountCharacter WHERE (GameID1 = @Name OR GameID2 = @Name OR GameID3 = @Name OR GameID4 = @Name OR GameID5 = @Name); UPDATE MuOnline.dbo.Character SET AccountID = @Account WHERE Name = @Name; END FETCH NEXT FROM setLoop INTO @Name END CLOSE setLoop DEALLOCATE setLoop
coloquei errado mesmo
tenta assim
UPDATE Character SET AccountID = (SELECT Id FROM AccountCharacter WHERE id is not null and
((GameID1 = Character.Name) OR
(GameID2 = Character.Name) OR
(GameID3 = Character.Name) OR
(GameID4 = Character.Name) OR
(GameID5 = Character.Name)) )
where
(SELECT Id FROM AccountCharacter WHERE id is not null and
((GameID1 = Character.Name) OR
(GameID2 = Character.Name) OR
(GameID3 = Character.Name) OR
(GameID4 = Character.Name) OR
(GameID5 = Character.Name)) ) > 0
Vlw louis,
mas a do Erick Master já resolveu o problema, mas mesmo obrigado.
E Todos que ajudaram já tiveram meu Obrigado.
=)
Sê Sóbrio...
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Marcadores