>??????
>
>puoi spiegarti meglio???
>
>
>ok le metto in join e poi???
quello che Teech sta dicendo, e trovo che sia la soluzione migliore è di utilizzare la sintassi della UPDATE FROM. Ti allego un esempio per farti vedere come funziona:
USE tempdb;
GO
CREATE TABLE Clienti
(
Client_ID int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
[Name] varchar(30) NOT NULL,
Surname varchar(30) NOT NULL,
[Status] char(1) NOT NULL
)
GO
CREATE TABLE ILLogins
(
Login_ID varchar(16) NOT NULL PRIMARY KEY CLUSTERED,
Psw varchar(16) NOT NULL,
[Status] char(1) NOT NULL
)
GO
-- popolamento dati di prova
INSERT Clienti
SELECT 'Alessandro', 'Alpi', 'O'
INSERT Clienti
SELECT 'Mike', 'Denny', 'L'
INSERT Clienti
SELECT 'Matteo', 'Celaschi', 'L'
INSERT Clienti
SELECT 'Marco', 'Rossi', 'O'
INSERT Clienti
SELECT 'Daniele', 'Zanella', 'L'
GO
INSERT ILLogins
SELECT 1, 'psw1', 'O'
INSERT ILLogins
SELECT 2, 'psw2', 'O'
INSERT ILLogins
SELECT 3, 'psw3', 'O'
INSERT ILLogins
SELECT 4, 'psw4', 'O'
INSERT ILLogins
SELECT 5, 'psw5', 'O'
GO
SELECT * FROM Clienti ORDER BY Client_ID
SELECT * FROM ILLogins ORDER BY Login_ID
-- eseguo l'aggiornamento
UPDATE L
SET [Status] = C.[Status]
FROM ILLogins L
JOIN Clienti C ON C.Client_ID = L.Login_ID
WHERE
C.[Status] = 'L'
SELECT * FROM ILLogins ORDER BY Login_ID
-- disalloco
DROP TABLE Clienti
DROP TABLE ILLogins
GO
Come puoi vedere alla fine la tabella ILLogins ha il campo status aggiornato in base alla join
Alx81 =)
http://blogs.dotnethell.it/suxstellino