DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: SQL | Thema: Daten aus zwei Tabellen nebeneinander darstellen (MSSQL) | Von: Oliver Ebert ( 23.01.2006 07:30)

Hallo!
Ich habe ein Problem eine bestimmte Abfrage zu bauen (MS-SQL, Tests in Query Analyzer Version SQL 8.00.194)

Und zwar habe ich zwei Tabellen folgender Struktur:

Tabelle1:
Tab_ID Vertragsnummer Text
001 123xyz Textirgendwas1
002 768abc NocheinText2

Tabelle2:
Vertragsnummer Zahlung Datum
123xyz 1,50 01.01.2006
768abc 2,50 03.01.2006
768abc 8,88 02.01.2006
123xyz 2,00 14.01.2006
897jhf 2,20 05.01.2006

Nun möchte ich eine Übersicht aller Daten aus Tabelle1 erzeugen,
in der an jeder Vertragszeile der aktuellste zugehörige Datensatz aus Tabelle2 angehängt ist.

Das Resultset müsste dann folgendermaßen aussehen:

001 123xyz Textirgendwas1 2,00 14.01.2006
002 768abc NocheinText2 2,50 03.01.2006

Zu beachten ist, dass in Tabelle2 Verträge gelistet sind, die in Tabelle1 nicht mehr vorkommen.

Mit einem Datensatz aus Tabelle1 bekomme ich das ja noch hin:

select top 1 a.*,b.*
from Tabelle1 a inner join Tabelle2 b
on a.vertragsnummer = b.vertragsnummer
where a.vertragsnummer = '123xyz'
order by b.Datum desc

Aber wie macht man das mit einem ganzen Suchergebnis?
Distinct funktioniert ja leider nicht bei mehreren unterschiedlichen Spalten.
Habe schon alle Join-Optionen durchprobiert sowie mit Group-by experementiert, hat auch nicht geklappt.

Kann mir jemand helfen?


Betreff Von Datum
Re: Daten aus zwei Tabellen nebeneinander darstellen...
Hallo Oliver,<br><br>versuch doch mal folgende SQL Syntax<br><br>select a.Tab_ID, a.Vertragsnummer, a.Text, b.Zahlung, b.Datum<br>from Tabelle1 a inner join Tabelle2 b<br>on a.vertragsnummer =...
Ansgar Sommer 23.01.2006 13:12
Re: Daten aus zwei Tabellen nebeneinander darstellen...
Hi,<br><br>kannst ja auch mal das hier probieren:<br><br>select t1.tab_id, t1.vertragsnummer, t1.text, t2.zahlung, t2.datum<br>from tabelle1 t1, tabelle2 t2, (select vertragsnummer, max(datum) as 'mDatum'<br> ...
Thomas Golla 23.01.2006 13:48
Re: Daten aus zwei Tabellen nebeneinander darstellen...
... besser so: <br>select t1.tab_id, t1.vertragsnummer, t1.text, t2.zahlung, t2.datum<br>from tabelle1 t1, tabelle2 t2, (select vertragsnummer, max(datum) as 'mDatum'<br>from tabelle2<br>group by...
G. Guest 23.01.2006 14:58
Re: Daten aus zwei Tabellen nebeneinander darstellen...
Hi!<br>Danke, funktioniert :-)<br>Bedingung ist allerdings, dass ein Datum in der 2. Tabelle mit der jeweiligen Vertragsnummer nicht doppelt vorkommt, aber das ist machbar.<br><br>Grüße!
G. Guest 23.01.2006 15:17

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Visual Studio 1 Magazin

© Copyright 2003 ppedv AG