Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
SQL - Dynamische Spalten oder verkettete Ausgaben
zurück: SQL: 2 Zeilen zu einer zusammenfassen weiter: Nach Datum sortieren mit Konvertiertem Datumsfeld Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Hobbystern
Excel-Erfahrener-Anwender


Verfasst am:
04. März 2014, 08:55
Rufname:
Wohnort: Ruhrgebiet

SQL - Dynamische Spalten oder verkettete Ausgaben - SQL - Dynamische Spalten oder verkettete Ausgaben

Nach oben
       Version: Office 2007

Hallo Gemeinde,

ich kämpfe in mehreren Abfragen mit einem Problem - oft habe ich Definitionen zu einem Artikel, welche ich aufzeigen muss:

- Artikel "Milch"
enthält mindestens 1 Definiton "Allergen Milcheiweiß"

ich habe viele Artikel und diese sind mit vielen Definitionen versehen.

Die wiederkehrende Aufgabe (in abgewandelter Form) ist diese schnell in eine Tabelle zu bringen, idealerweise OHNE Excel und VBA.

Artikel X1 enthält Definitionen A,B,C...G
Artikel X2 enthält Definitionen A,F,G
...

Dabei liegen die Artikel in Tabelle "Artikel"
Artiklenummer, Artikelname....
und die Definitonen in Tabelle "ArtikelDeklarationen"
Artikelnummer, Deklarationsnummer

Schlüssel ist die Artikelnummer.

Lösungswege, welche ich verfolgt habe:
- Pivot funktion (one aggrieren zu können etwas schwierig)
- Verketten von Werten
- Dynamische Spalten (für jede Deklaration eine eigene Spalte)

So richtig gelöst habe ich das Ganze noch nicht - irgendwo ist immer ein Kompromiss ins Spiel gekommen....

Habt Ihr eine richtig gute Idee wie ich auch in der Zukunft und für andere Szenarien einen Artikel mit vielen Definitionen in eine Zeile bekomme?

Ich wäre Dankbar!

EDIT: Mit dem Stichwort "verketten" und "sql" finde ich nunmehr zahlreiche ähnliche Fragen die nachher an meinem fehlenden Grundwissen scheitern, so zBsp. dieses sehr schöne Beispiel:
Lösung1 (T-SQL : MSSQL 2008 - Werte aus mehreren Zeilen in eine einzige Zeile schreiben)

Ich habe einen Cursor deklariert und auch einen View eingerichtet - dennoch scheitert es schlussendlich an der Select Abfrage - ebenfalls funktionierte die Idee in Lösung2 (T-SQL : MSSQL 2005 - SQL-Abfrage Datensätze(Strings) verketten) von Anfang an erst einmal nicht...3,5 Stunden sind es jetzt...

Das hier sympathisierte mir am meisten:
Code:
DECLARE  @r varchar(200)
SELECT   @r = isnull(@r + ' ') + uhrzeit
FROM     tabelle
WHERE    tag = @d
AND      uhrzeit > ''
ORDER BY uhrzeit
klappt aber auch nicht (das Beispiel ist nur kopiert, nicht eingeändert)
_________________
Office 2007 - warum auch neue Funktionen wenn man doch alles verschönern kann ?
Turboscherbe
Office-VBA-Programmierer


Verfasst am:
04. März 2014, 11:25
Rufname:


AW: SQL - Dynamische Spalten oder verkettete Ausgaben - AW: SQL - Dynamische Spalten oder verkettete Ausgaben

Nach oben
       Version: Office 2007

Hallo,
dafür gibt es prinzipiell 2 Möglichkeiten:

1.) Eine benutzerdefinierte Funktion erstellen, der du die Artikelnummer als Parameter übergibst, per SELECT alle Definitionen des Artikels ausliest und diese in einer Zeichenkette mittels Schleife zusammenkettest. In deiner Sicht kannst du dann die Daten per SELECT ArtikelNr, DeineFunktion([ArtikelNr]) FROM Artikel abrufen.

2.) Die zweite Variante wird häufiger vorgeschlagen, da sie effizienter arbeitet. Stichwort hier ist FOR XML PATH. Erscheint einem anfang etwas suspekt, funktioniert aber ganz gut. Hier mal ein einfaches Beispiel:
STUFF AND FOR XML PATH for String Concatenation
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Microsoft Access und andere Datenbank-Server: PL/SQL 0 leo_oracle 1204 27. Feb 2012, 18:07
leo_oracle PL/SQL
Keine neuen Beiträge Microsoft Access und andere Datenbank-Server: Count auf mehrere Spalten (Oracle 9i) 1 Morridin 4623 30. Aug 2010, 07:31
Nouba Count auf mehrere Spalten (Oracle 9i)
Keine neuen Beiträge Microsoft Access und andere Datenbank-Server: 2 server 2 tabellen (SQL sybase) 2 FLATZE 3115 10. Dez 2008, 10:20
Gast 2 server 2 tabellen (SQL sybase)
Keine neuen Beiträge Microsoft Access und andere Datenbank-Server: Der SQL Server kann keine Verbindung zu Oracle herstellen 0 <Susi> 6967 07. Feb 2008, 10:40
<Susi> Der SQL Server kann keine Verbindung zu Oracle herstellen
Keine neuen Beiträge Microsoft Access und MS SQL Server: Access als Frontend für SQL Server (netzwerkfähig) 1 Texas3110 7154 29. Aug 2007, 13:19
- Rick - Access als Frontend für SQL Server   (netzwerkfähig)
Keine neuen Beiträge Microsoft Access und MS SQL Server: SQL Server Express 2005 Anleitung 1 Texas3110 7664 11. Aug 2007, 16:42
lothi SQL Server Express 2005 Anleitung
Keine neuen Beiträge Microsoft Access und MS SQL Server: Vorteil von Access <-> SQL Server 1 nathy84 5341 08. Aug 2007, 16:08
- Rick - Vorteil von Access <-> SQL Server
Keine neuen Beiträge Microsoft Access und MS SQL Server: SQL:Wie spreche ich den letzten & vorletzten Datensatz a 2 Nadine* 5449 20. Jul 2007, 14:33
pdietlmeier SQL:Wie spreche ich den letzten & vorletzten Datensatz a
Keine neuen Beiträge Microsoft Access und MS SQL Server: Datensätze in einer SQL Tabelle ermitteln 2 Gast 2108 11. Apr 2007, 19:15
Gast Datensätze in einer SQL Tabelle ermitteln
Keine neuen Beiträge Microsoft Access und MS SQL Server: Lagerwertanalyse und Trendanalyse MS SQL 2000 0 Gast 1914 19. Feb 2007, 14:59
Gast Lagerwertanalyse und Trendanalyse MS SQL 2000
Keine neuen Beiträge Microsoft Access und MS SQL Server: Bewerberdatenbank mit MS Sql Server 2005 2 Roadrunner69 4339 01. Dez 2006, 15:46
Roadrunner69 Bewerberdatenbank mit MS Sql Server 2005
Keine neuen Beiträge Microsoft Access und MS SQL Server: Temporäre Tabelle in SQL Server 2005 in Stored procedure 4 Decker 19681 14. Sep 2006, 16:37
Gast Temporäre Tabelle in SQL Server 2005 in Stored procedure
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft-Excel Diagramme