![]() |
Re: Eine etwas komplexere Sortierung
ich habe es mal versucht so auf meine Tabellen anzuwenden:
exklusives Beispiel:
SQL-Code:
allerdings spuckt er mir so nur ein Feld mit dem Namen aus, nicht alle 3.
SELECT dbo.tblAdresse.vCh100_NameFirma AS Name, dbo.tblVertragsabschluss.int10_VertragsabschlussID
FROM dbo.tblVertragsabschluss LEFT OUTER JOIN dbo.tblAdresse ON dbo.tblVertragsabschluss.int10_BezAdressenID_AB = dbo.tblAdresse.int10_AdressenID WHERE (dbo.tblVertragsabschluss.vCh8_AbschlussDatum > N'20060301') UNION SELECT dbo.tblAdresse.vCh100_NameFirma AS Name, dbo.tblVertragsabschluss.int10_VertragsabschlussID FROM dbo.tblVertragsabschluss LEFT OUTER JOIN dbo.tblAdresse ON dbo.tblVertragsabschluss.int10_BezAdressenID_S1 = dbo.tblAdresse.int10_AdressenID WHERE (dbo.tblVertragsabschluss.vCh8_AbschlussDatum > N'20060301') UNION SELECT dbo.tblAdresse.vCh100_NameFirma AS Name, dbo.tblVertragsabschluss.int10_VertragsabschlussID FROM dbo.tblVertragsabschluss LEFT OUTER JOIN dbo.tblAdresse ON dbo.tblVertragsabschluss.int10_BezAdressenID_S2 = dbo.tblAdresse.int10_AdressenID WHERE (dbo.tblVertragsabschluss.vCh8_AbschlussDatum > N'20060301') ORDER BY Name edit: allerdings scheint die Sortierung so geklappt zu haben.... nun habe ich die VertragsabschlussID's und kann die einfach anhand eines zweiten Datasets Stück für Stück abarbeiten... Geht zwar bestimmt noch einfacher, aber wenigstens habe ich jetzt schonmal einen Lösungsweg. Vielen Dank schonmal soweit, aber falls jemand weiss wie ich dies mit einer einzigen SQL Anweisung (einem einzigen Dataset) hinbekomme, wäre das natürlich noch besser :) |
Re: Eine etwas komplexere Sortierung
Ich habe mal zwei Tabellen erzeugt:
SQL-Code:
CREATE TABLE [dbo].[Vertraege] (
[ID] [int] IDENTITY (1, 1) NOT NULL , [DATUM] [datetime] NOT NULL , [P1] [int] NULL , [P2] [int] NULL , [P3] [int] NULL )
Code:
// Vertraege
1 2006-05-17 00:00:00.000 1 NULL NULL 2 2006-05-17 00:00:00.000 2 3 NULL
SQL-Code:
CREATE TABLE [dbo].[Personen] (
[ID] [int] IDENTITY (1, 1) NOT NULL , [NAME] [nvarchar] (50) COLLATE Latin1_General_CI_AS NULL )
Code:
Hier die Abfrage:
// Personen
1 Müller 2 Meier 3 Schulze
SQL-Code:
Geliefert wird dann:
select name, v.*
from vertraege v join personen p on v.p1 = p.id UNION select name, v.* from vertraege v join personen p on v.p2 = p.id UNION select name, v.* from vertraege v join personen p on v.p3 = p.id
Code:
marabu
Meier 2 2006-05-17 00:00:00.000 2 3 NULL
Müller 1 2006-05-17 00:00:00.000 1 NULL NULL Schulze 2 2006-05-17 00:00:00.000 2 3 NULL |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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