2009-04-02 17 views
0

Ich muss eine SQL-Abfrage schreiben, die eine Spalte aus einer Datenbank (DB1) zu einer anderen Spalte hinzufügt, und die Summe wird in dieser Spalte in der zweiten Datenbank (DB2) gespeichert. wo userIds die gleicheWie schreibe ich SQL-Abfrage? für ms sql server

DB1 
TableA 
UserId People 


DB2 
TableB 
Amount UserId 

sind, würde es so etwas wie dieses

DB2.TableB.Amount = DB2.TableB.Amount + DB1.TableA.People

+0

Bitte geben Sie Plattform (SQL Server, Oracle, was auch immer) –

+0

über Datenbanken verbindet? –

Antwort

4

Meinten Sie:

UPDATE b 
SET Amount = b.Amount + a.People 
FROM DB2.dbo.TableB b 
INNER JOIN DB1.dbo.TableA a 
    ON a.UserId = b.UserId 

dbo = Besitzer Tabelle, kann es auch nicht spezifiziert sein: DB1..TableA

0
INSERT INTO DB2.dbo.TableB 
SELECT COUNT(*), UserID 
FROM DB1.dbo.TableA 
GROUP BY UserID 
0

Dies ist nicht getestet werden:

INSERT INTO DB2.dbo.TableB 
SELECT SUM(DB2.TableB.Amount + DB1.TableA.People), UserID 
FROM DB1.dbo.TableA 
GROUP BY UserID 
Verwandte Themen