Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Access Abfrage (Tabelle transponieren)

Frage Microsoft Microsoft Office

Mitglied: CeMeNt

CeMeNt (Level 2) - Jetzt verbinden

14.10.2009 um 11:44 Uhr, 21543 Aufrufe, 6 Kommentare

SQL2005, Access2007

Moin Leute,

ich habe mit meinem Access2007 eine Tabelle einer SQL-Datenbank verknüpft.
Nun möchte ich eine bestimmte Abfrage erzeugen, weiß aber nicht wie.

Die Daten in der Tabelle sehen ungefähr so aus:

Kundennummer Feldnummer Feldinfo
1001 1 Herr
1001 2 Mayer
1001 3 Egon
2022 1 Frau
2022 2 Müller
2022 3 Ließchen

usw.

nun möchte ich eine Abfrage erstellen, die die Tabelle quasi transponiert:

Kundennummer Anrede Nachname Vorname
1001 Herr Mayer Egon
2022 Frau Müller Ließchen

Weiß aber nicht wie.
Hat jemand wohl eine passende Idee?

Danke schon mal,

Gruß CeMeNt
Mitglied: it-frosch
14.10.2009 um 11:51 Uhr
Hallo CeMeNt,

versuche es mal damit indem du die Tabelle über 3 verschiedene Aliase einbindest.

select a.kundennummer,a.anrede,b.nachname,c.vorname from tabelle a
inner join tabelle b
on a.kundennummer=b.kundennummer where b.feldname=2
inner join tabelle c
on a.kundennummer=c.vorname where c.feldname=3


Nur so als Idee, ist nicht getestet.
Bitte warten ..
Mitglied: Biber
14.10.2009 um 12:55 Uhr
Moin CeMeNt,

schematisch ginge es auch so:
01.
SELECT KdNr, 
02.
 max(Feldnr1) as Anrede, 
03.
 max(Feldnr2) as Nachname, 
04.
 max(Feldnr3) as Vorname FROM ( 
05.
SELECT Kundennummer as KdNr, 
06.
 Iif(Feldnummer =1, FeldInfo, Null) as Feldnr1, 
07.
 Iif(Feldnummer =2, FeldInfo, Null) as Feldnr2, 
08.
 Iif(Feldnummer =3, FeldInfo, Null) as Feldnr3 
09.
FROM FremdTab) x 
10.
group by kdnr;
Anzeige dann
01.
KdNr	Anrede	Nachname	Vorname 
02.
1001	Herr	Mayer	Egon 
03.
2022	Frau	Müller	Lieschen
..aber richtig begeistern tut das auch nicht.

Wie gehen denn die eigentlichen Datenfürsten dieser merkwürdigen Datenstruktur, also die Applikation, deren SQL-Tabelle du liest, mit dieser Stuktur um?
Oder sind in deren Eingabemasken wirklich beliebig viele FeldNr/Textfeld-Kombinationen erfassbar und die Anwender müssen sich dann einigen, ob der Inhalt des Textfeldes bei einer Feldnummer = 9 nun "Telefon" oder "Sternzeichen" bedeutet??

Sieht mir schon nach Praktikantenpfusch aus, was deine Datenquelle ist...

Grüße
Biber
Bitte warten ..
Mitglied: KalleAtWork
14.10.2009 um 13:30 Uhr
Hi,

sowas kann man mit dem Abfrageasistenten und dann Kreutztabellenabfrage erstellen:

Ich habe Deine Daten mal in "Tabelle1" geschrieben. Dann sieht die SQL-Ansicht so aus:

TRANSFORM First(Tabelle1.[Feldinfo]) AS ErsterWertvonFeldinfo
SELECT Tabelle1.[Kundennummer]
FROM Tabelle1
GROUP BY Tabelle1.[Kundennummer]
PIVOT Tabelle1.[Feldnummer];
Bitte warten ..
Mitglied: CeMeNt
14.10.2009 um 13:39 Uhr
Mahlzeit Leute,

@it-frosch
das ist leider etwas zu krytisch für mich.

@Biber
Die sog. Datenfürsten haben diese Infos vermutlich irgendwann mal auf "Druck des Kunden" nachgelegt.
Ich kann zwar nun weitere Informationen zu den Kunden speichern (natürlich über eine entsprechende GUI)
AAABER: kann diese nicht auswerten! (Prima, oder??)
dann könnten die es auch gleich bleiben lassen...

Also muss ich SQL-Tüffel nun versuchen mir die benötigten Daten irgendwie selber aufzubereiten.
Insgesamt gibt es in der Maske (und der dazugehörigen SQL-Tabelle 30 Felder)

Meine obige Tabelle muss also noch bis Feldnummer "30" erweitert werden.
Und das PRO KUNDE (sind bei uns über 2000)

Sieht mir schon nach Praktikantenpfusch aus, was deine Datenquelle ist...
Das lass ich mal so im Raum stehen...

@Biber und kalle:
ich werde mal versuchen Eure beiden Lösungen nachzuvollziehen.
Ich meld mich dann gleich noch mal.

Danke schon mal,
Gruß CeMeNt
Bitte warten ..
Mitglied: CeMeNt
14.10.2009 um 14:06 Uhr
Da bin ich schon wieder!

Also, KalleAtWork:

ich muß schon sagen: Wirklich klasse!
Genau das wollte ich erreichen!

@Biber
sei met net bös!
Deine Lösung hätte gaaaanz bestimmt auch funktioniert.

Aber die von Kalle sah mir irgendwie einfacher aus, und eben auch auf Anhieb geklappt!

Danke, Leute!
You made my day!

Gruß CeMeNt
Bitte warten ..
Mitglied: Biber
14.10.2009 um 14:23 Uhr
Moin CeMeNt

sei met net bös!
Wieso sollte ich? Das, was ich (zu Fuss) gebastelt habe einspricht ja genau einer Kreuztabellenabfrage
01.
TRANSFORM Max(FremdTab.Feldinfo) AS MaxWertvonFeldinfo 
02.
SELECT FremdTab.Kundennummer 
03.
FROM FremdTab 
04.
GROUP BY FremdTab.Kundennummer 
05.
PIVOT FremdTab.Feldnummer;
Ausgabe:
01.
Kundennummer	1	2	3 
02.
1001	Herr	Mayer	Egon 
03.
2022	Frau	Müller	Lieschen
.. also als Unterschied nur, dass ich als Aggregatfunktion Max() statt First() gewählt und ein paar Spaltenüberschriften dazugemogelt habe.

Gemeint haben KalleAtWork und ich schon das Gleiche, denke ich.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Access 2010 - Abfrage über mehrere Tabellen
gelöst Frage von EisbrecherinDatenbanken12 Kommentare

Hallo zusammen! Ich bin gerade etwas am Verzweifeln mit Access 2010. Meine Datenbank besteht aus folgenden Tabellen / Beziehungen: ...

Datenbanken
SQL Abfrage aus mehreren Tabellen
gelöst Frage von el-torontoDatenbanken2 Kommentare

Hallo, auf dem Bild die vereinfachte Darstellung. Problematik: - Tabelle 1 enthält hunderte Kunden und wird mit Werten und ...

Datenbanken
SQL Abfrage: Ergebniss aus einer Tabelle mit Bedigung aus einer 2. Tabelle
gelöst Frage von holiboliDatenbanken4 Kommentare

Ausgangslage: Tabellen Auf.Texte Auf_Dokumente Inhalt (den ich brauche): Auf_Texte: AUF_Texte.Z_Dokumenttyp AUF_Texte.SprachePRO AUF_Texte.Z_Unser_Zeichen AUF_Texte.TextfeldRTF (Nur dieses sollte am schluss angezeigt ...

Microsoft Office
ACCESS Tabellen vergleichen
gelöst Frage von abuelitoMicrosoft Office4 Kommentare

Hallo, ich habe eine ACCESS 2003 Datenbank mit 2 Tabellen. Jede Tabelle hat nur eine Spalte. Tabelle1 hat ca. ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 10 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 14 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 14 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 17 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...