Autor Beitrag
PalPal
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 22.03.11 13:57 
Hallo Zusammen.

Ich habe ein Problem bei der Kombination von @@Identity und einem Innerjoin.


Ich habe 2 Tabellen:

Tabelle1:
ID
Mitarbeiter_ID


Tabelle2:
ID
Tab1_ID

Ich möchte die ID des letzten Eintrages aus Tabelle1 haben, welche von einem bestimmten User angelegt wurde.


Der Select sieht wie folgt aus:
ausblenden C#-Quelltext
1:
SELECT @@IDENTITY AS ID_Neu FROM Tabelle2 INNER JOIN Tabelle1 ON Tabelle1.ID=Tabelle2.Tab1_ID WHERE MA_ID=@MA_ID					


@MA_ID ist hier ein Parameter welcher bereits die benötigte User-id beinhaltet.

Im Anschluss durchlaufe ich einen Reader:
ausblenden C#-Quelltext
1:
2:
3:
4:
 while (myreader.read())
{
par_tab2_id.value = myreader["ID_Neu"];
}


Problem hierbei ist, dass die while-schleife insgesamt 43x durchlaufen wird.
bei jedem der 43 male steht im Value die eigentlich benötigte ID, zu anfang ist der Wert null.

Was muss ich an meinem SELECT ändern um den geforderten Wert (nur 1x ;) ) zu bekommen?

Bitte um kurze Hilfe :(
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 22.03.11 14:18 
Suchst du evtl nach
SELECT DISTINCT abc FROM xyz ?

_________________
Delphi: XE - OS: Windows 7 Professional x64

Für diesen Beitrag haben gedankt: PalPal
PalPal Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 22.03.11 14:22 
achje...

Ja das funktioniert.

Ich habe die ganze Zeit viel komplizierter gedacht und bin auf sowas simples wie das Distinct nicht gekommen

peinlich peinlich... aber: Danke! ;)