2016-05-13 4 views
2

Ich weiß, dass wir 2 Databases aus 2 separaten Datenbank auf dem gleichen Server wie unten kombinieren können.Wie die Daten zu verbinden und mit einer anderen Access-Datenbank zu vergleichen

SELECT a.userID, b.usersFirstName, b.usersLastName 
FROM databaseA.dbo.TableA a 
inner join database B.dbo.TableB b ON a.userID=b.userID 

Aber hier ist, was ich will .. Ich brauche UserEmailAddress von DB2 zu erhalten, basierend auf DB1.Table1 Namen des Benutzers wenn die DueDate überfällig ist .. Die gemeinsame Sache, die Lage DB1 & DB2 zu verknüpfen das ist Benutzername in beiden Tabellen. In DB2 ist der Benutzername jedoch die Kombination aus UsersLastName und UsersFirstName. wie unten:

Select * from DB1.Table1 and DB2.Table2 
where DB1.Table1.UserName = DB2.Table2.UserName 
(**DB2.Table2.UserName = [UsersLastName] + ', ' + [UsersFirstName]) 
when DB1.Table1.DueDate>TodayDate 

enter image description here

Ich bin mit ASP.net, C# und Microsoft Access-Datenbank.

Wie soll ich die Abfrage schreiben?

+0

es hilft, wenn Sie Ihre Tabellenstruktur in Frage stellen. –

Antwort

0

Versuchen Sie es.

SELECT TB2.UserEmailAddress FROM Table1 TB1 
INNER JOIN Table2 TB2 ON TB2.UserName = TB1.UserName 

Ich bin mir nicht ganz sicher, das ist die Antwort, die Sie suchen, benutzen Sie bitte eine bessere Beschreibung geben und zeigen uns einige Tabellenstruktur.

0

Warum brauchen Sie DB1? Ich sehe, dass Sie alle gewünschten Informationen von DB2 erhalten können.

Um diese beiden Tabellen verbinden Sie verwenden können:

SELECT DB1.UserName, DB2.UsersFirstName, DB2.UsersLastName, DB2.UserName, DB2.UsersEmail 
FROM DB1 DB1, DB2 DB2 
WHERE DB1.UserName = DB2.UsersFirstName + ',' + DB2.UsersLastName