![]() |
Datenbank: SQL-Server • Version: 2000 • Zugriff über: BDE
select statement
Hallo,
suche für folgendes Problem ein passendes sql-statement: Tabellenfelder: Feld-1(Rezept) Feld-2(Element) Feld-3(Wert) Werte: Rezept-A Si 0,1 Rezept-A Fe 0,2 Rezept-A Cu 0,3 Rezept-B Si 1,0 Rezept-B Fe 2,0 Rezept-B Cu 3,0 usw. Ich brauche die Werte aber nicht in mehreren records/Zeilen sondern in einem/r Zeile. Die Query: select * from Tabelle order Rezept,Element bringt mich also nicht weiter. Kenne mich mit subselects bzw. union nicht aus. Damit müsste, glaube ich, sowas gehen? jangbu |
Re: select statement
Einfach zwischen deine SQL-Abfragen ein Union setzen :-)
|
Re: select statement
Sicher? Ich hab das ganz anders verstanden, aber sehe den Sinn darin noch nicht.
|
Re: select statement
Den Sinn dahinter habe ich auch nicht verstanden, aber er wollte doch die Ergebnisse mehrerer selects in einer Zeile haben, also rate ich zu union.
|
Re: select statement
Eine Union ist aber was Anderes.
|
Re: select statement
Zitat:
|
Re: select statement
Zitat:
Man müsste jetzt auch noch wissen, warum der Threadersteller die Felder horizontal vermehren möchte. Mit einem Reportgenerator kann man z.B. recht einfach mehrspaltig drucken. ![]() |
Re: select statement
Ich muss in einer DBLookupComboBox die Datensätze in der DropDown-Liste anzeigen. Dazu baue ich über "select join" die Daten so zusammen, dass ich sie alle im ListField zusammengefasst anzuzeigen kann. Die besagte Analysenwerte jedoch recordweise vorliegen, muss ich sie zuvor so zusammenstellen, dass ich sie als "einen" record darstellen kann, also in einer Zeile. Das mit UNION klingt gut, kenne mich blos nicht so gut aus. Wie müste denn das select statement aussehen?
jangbu |
Re: select statement
Deine Aussage ist etwas missverständlich. Bruachst du die Werte nun als Spalten ( ein Record) oder als Zeilen ( einer Spalte)?
|
Re: select statement
Ja das ist alles sehr unverständlich, zeigt doch mal (genau) wie deine Daten in der Datenbank abgelegt sind.
Und dann zeige uns was du (genau) wie haben möchtest. Hier mal ein Vorschlag... (wenn das überhaupt mit deinen Informationen möglich ist)
SQL-Code:
EXECUTE('
DECLARE @value VARCHAR(10) DECLARE @result VARCHAR(1000) DECLARE c CURSOR FOR SELECT feld1 FROM rezept SET @result = '''' OPEN c FETCH c INTO @value WHILE @@fetch_status = 0 BEGIN IF @result <> '''' BEGIN SET @result = @result + '', '' END SET @result = @result + @value FETCH c INTO @value END CLOSE c DEALLOCATE c SELECT 1 sort, @result AS result UNION SELECT 2 sort, feld1 FROM rezept ORDER BY sort ') |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 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