![]() |
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 ') |
Re: select statement
Hallo kminzler,
ich brauche die felder mehrer records in einem: select * from rezept where rezept = "Rezept1" aktuelles Ergebnis der Abfrage => mehrere records mit je einem Element+Wert Element Wert Si 0,1 Fe 0,2 Cu 0,3 benötigtes Ergebnis der Abfrage => ein record mit allen Elementen+Werten 0,1 0,2 0,3 jangbu |
Re: select statement
Also eine Pivot-Abfrage
|
Re: select statement
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
hab mal die Ist- und Soll-Situation dokumentiert. |
Re: select statement
Zitat:
![]() Direkt der erste Link ist ein Treffer. |
Re: select statement
Siehe #7 :zwinker:
|
Re: select statement
Hallo,
hilft Dir das?
SQL-Code:
select Rezept, Sum(Si) As Si, Sum(Fe) as Fe, Sum(Cu) As Su from (
select Rezept, Element, case Element when 'Si' then wert else 0 end as Si, case Element when 'Fe' then wert else 0 end as Fe, case Element when 'Cu' then wert else 0 end as Cu from Rezepte where gruppe = 'ABC' and Rezept in ('Si','Fe','Cu') ) intern group by rezept |
Re: select statement
sorry rwachtel, aber sql_pivot bringt mich irgendwie nicht weiter, da ich trotzdem mehrere Zeilen zurückbekomme! Oder was mach ich da falsch? Ist in meiner Anlage zu sehen.
jangbu |
Re: select statement
|
Re: select statement
Liste der Anhänge anzeigen (Anzahl: 1)
Danke nahpets,
genau das habe ich gesucht, passt jetzt (s.A.)! Dank auch an alle anderen! jangbu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 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