Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MS SQL Server: zwei Tabellen in einer View kombinieren??? (https://www.delphipraxis.net/52398-ms-sql-server-zwei-tabellen-einer-view-kombinieren.html)

romber 29. Aug 2005 15:31

Datenbank: MSSQL Server • Version: 2000 • Zugriff über: ADO

MS SQL Server: zwei Tabellen in einer View kombinieren???
 
Hallo!

Ich habe zwei Tabellen in zwei verschiedenen Datenbanken. In einer Tabelle sind Bentzterinformationen wie Name, Vorname, Adresse etc. gespeichert, in der anderen Tabelle ensprechende Benutzernamen und Kennwörter. Ich möchte eine Sicht (View) erstellen, in der zwei diese Tabellen kombiniert sind. Wie mache ich das?

Jelly 29. Aug 2005 16:17

Re: MS SQL Server: zwei Tabellen in einer View kombinieren??
 
In welcher spezifischen Relation stehen denn die Datensätze aus den beiden Tabellen. Du brauchst ein eindeutiges Merkmal.

romber 29. Aug 2005 16:27

Re: MS SQL Server: zwei Tabellen in einer View kombinieren??
 
Jeden Datensatz in der ersten Tabelle erhält eine eindeutige ID-Nummer. In der zweiten Tabelle werden die zugehörige Datensätze nach dieser ID-Nummer identifiziert.

Jelly 29. Aug 2005 16:35

Re: MS SQL Server: zwei Tabellen in einer View kombinieren??
 
Sowas in der Art sollte klappen:

SQL-Code:
select t1.*, t2.Logins.*
from dbo.DB1.Namen t1 join dbo.DB2.Logins t2 on t1.ID=t2.ID
Dabei heisst die 1. Datenbank DB1 und die zweite DB2... Die Tabellen heissen Namen rsp. Logins.

Eventuell musst du dein join nocht anpassen. Diese Abfrage liefert dir nur die Datensätze, die in BEIDEN Tabelle vorkommen. Wenn es aber z.B. Datensätze gibt, die nur in Namen auftauchen, aber kein etsprechendes Login und Kennwort haben, so wirst du nichts darüber im Resultset finden... Stattdessen musst du statt "join" ein "left join" verwenden.

romber 29. Aug 2005 21:36

Re: MS SQL Server: zwei Tabellen in einer View kombinieren??
 
Habe den Beispiel von Jelly so ergänzt:

SQL-Code:
select t1.*, t2.ZUGANGSDATEN.*
from VERWALTUNG.dbo.BENUTZER t1 join ZUGANG.dbo.ZUGANGSDATEN t2 on t1.kn=t2.kn
wobei die Tabelle "BENUTZER" in der Datenbank "VERWALTUNG" sämtliche Benutzerinformationen enthält und die Tabelle "ZUGANGSDATEN" in der Datenbank "ZUGANG" die Benutzernamen und Kennwörter.

Bekomme im Enterprise Manager von MSSQL Server folgende Fehlermeldung:

ODBC-Fehler: [Microsoft][ODBC SQL Server Driver][SQL Server]The column prefix 't2.ZUGANGSDATEN' does not match with a table name or alias name used in the query.

Was ist den falsch?

Jelly 30. Aug 2005 00:24

Re: MS SQL Server: zwei Tabellen in einer View kombinieren??
 
Schreib mal t2.* statt t2.ZUGANGSDATEN.*
Du hast doch t2 als Alias auf die Tabelle gesetzt


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz