Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Zusammenfügen zweier Abfragen mit ungleicher Anzahl an Spalten

Begonnen von sebie, Oktober 04, 2012, 15:42:31

⏪ vorheriges - nächstes ⏩

sebie

Hallo zusammen,

habe aufgrund der Datenfülle (ca. 255 Spalten mit jeweils lieferantenspezifischen Daten) 2 Abfragen erstellt und die Daten je Lieferant mit LEFT JOIN in eine Zeile gebracht.

Wenn ich die 2 nun mit der Funktion "Union" zusammenfügen will, akzeptiert Access zwar meinen SQL-Code, zeigt mir dann aber an, dass zu viele Werte ausgewählt wurden.

Da ich unterschiedliche Daten und eine ungleiche Anzahl an Spalten in meinen Abfragen habe, funktioniert doch UNION gar nicht, oder?

Welche Funktion kann ich nutzen, damit diese Fülle letztlich in einer Tabelle unterkommt??

Danke vielmals für jegliche Tipps und Tricks! 

Grüße, Sebie

database

Hallo, abgesehen davon dass Tabellen mit 255 Spalten ein praktisch funktionsloses Datenmodell im Hintergrund haben ...

Um eine Union-Abfrage mit unterschiedlichen Spalenanzahlen zu erstellen gehst du wie folgt vor:


SELECT A, B, C FROM tblErste
UNION
SELECT alpha, beta, 0 AS gamma FROM tblZweite

Statt '0' kannst auch NULL verwenden.

Zitat...2 Abfragen erstellt und die Daten je Lieferant mit LEFT JOIN in eine Zeile gebracht.
Wie sich das mit deinem Datenkonklomerat bewerkstelligen läßt, ist eine andere Frage.

Ich würde dir dringend raten diese Datensammlung mal nach den Regeln der Normalisierung zu ändern - so wirst du nicht glücklich werden damit.
Siehe dazu u.A. Datenbankdesign


HTH

MzKlMu

#2
Hallo,
auch eine Abfrage mit Left Join kann nicht mehr als 255 Spalten darstellen.

ZitatDanke vielmals für jegliche Tipps und Tricks!  
Ich habe eigentlich nur einen Tip, DB normalisieren. Kein Mensch braucht eine Tabelle mit 255 Spalten.
Wahrscheinlich lässt sich das mit 3 Tabellen als n:m Beziehung ganz elegant und einfach lösen.
Mit höchstens 30-40 Feldern über alle Tabellen.
Gruß Klaus

oma

Hallo,

ZitatKein Mensch braucht eine Tabelle mit 255 Spalten.

also ich bin ein Mensch u. brauche eine Tabelle mit über 255 Feldern. Ich realisiere das über eine 1:1 Beziehung.
Das Leben ist eben vielfältig ;D

Gruß Oma
nichts ist fertig!

MzKlMu

Hallo,
wenn man es genau nimmt, sind das ja dann auch 2 Tabellen  ;D

Aber Du hast recht, ich ändere meine Aussage wie folgt:

Im Regelfall wird man keine Tabelle mit mehr als 255 Feldern brauchen.

Ich neige gelegentlich zu absoluten Aussagen, da muss ich noch an mir arbeiten.  :D
Gruß Klaus

oma

Hallo,

war auch nur als Spaß gemeint.
Ich benötige ab und zu tatsächlich in der Marktforschung (Große Befragungen von Firmen) eine Tabelle über 255 Felder. Da das nicht geht muss ich dann die Daten auf 2 Tabellen aufteilen
Aber zugegeben, dass sind allgemein wohl eher Sonderfälle!

Gruß Oma
nichts ist fertig!

Beaker s.a.

Hallo Oma,
Zitatsind allgemein wohl eher Sonderfälle!
Der ist auch nicht schlecht ;-)
gruss
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

database

Hallo,

wenn ich mich noch einmal in diese Diskussion einbringen darf ...

Zitat...ca. 255 Spalten mit jeweils lieferantenspezifischen Daten...
Die Ausage lässt den Schluß zu, dass es sich hierbei um eine SEHR Excel-lastige Überführung von Daten nach Access handelt.
Leider läßt sich aus den Angaben des TO nichts Definitives ableiten, sodass die Vermutung zum fehlerhaften Datenmodell das Angebot der Stunde war.

Vielleicht kommt ja noch eine klärende Reaktion von Sebie um die 255 Attribute eines Lieferanten näher kennen zu lernen.  ::)