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 Hilfe bei SQL Inner Join bzw group by

Mitglied: HeadoN

HeadoN (Level 1) - Jetzt verbinden

12.07.2019 um 15:32 Uhr, 563 Aufrufe, 12 Kommentare

Hallo ich brauche mal eure Hilfe da meine SQL Zeit doch sehr lange her ist. Ich glaube ich brauche Inner Join und Group by

Ich habe eine Tabelle in der stehen verschiedene Wert. Eine Spalte mit einem Bildpfad welcher öfters vorkommt. Eine Spalte mit einem Variablen Namen welcher auch öfters vorkommt aber immer nur 1x zu jedem Bildpfad und eine Lösungsspalte. Jetzt kann ich mit select bild, Lösung from tabelle where bild like '%xx1%' and variable 'xx1' mir zwar immer das Ergebnis für eine bestimmte Variable anzeigen lassen aber ich möchte das vereinfachen in dem ich mir zu dem Bild zum Beispiel variable xx1 bis xx5 anzeigen lasse bzw reichen mir die Lösungen.
Mitglied: ukulele-7
12.07.2019, aktualisiert um 17:14 Uhr
Nach drei mal lesen checke ichs noch nicht. Also 3 Spalten: Bildpfad, Variabler_Name und Bild, was genau verstehst du unter einer "Lösungsspalte"? Willst du etwas aggregieren? Wiso suchst du mit WHERE nach Bild und gruppierst nicht nach Bildpfad?

SELECT bildpfad, variabler_name, bild, aggregat
FROM tabelle
GROUP BY bildpfad, variabler_name, bild

Einen INNER JOIN brauchst du frühestens wenn du mehr als eine Tabelle hast, davon steht da aber nix.
Bitte warten ..
Mitglied: HeadoN
12.07.2019 um 17:34 Uhr
Ok dann versuche ich es mal anders zu formulieren.

Ich habe

Ich möchte mir nun anzeigen lassen zum Beispiel die Loesung 1 von Bild like %211% and (item_id = 'VL03102a' or item_id='VL03102b')

Am besten in der Form

Bild Lösung1(VL03102a) Lösung2(VL03102b)
Bitte warten ..
Mitglied: em-pie
12.07.2019 um 17:46 Uhr
Moin,

dann wäre es mit einem Join doch möglich.
Ich gehe mal davon aus, dass das Bild der "Schlüssel" ist, dann kannst du die Tabelle mit sich selbst joinen:
Hinweis zum Full Outer Join:
https://www.w3schools.com/sql/sql_join_full.asp

Gruß
em-pie
Bitte warten ..
Mitglied: HeadoN
12.07.2019 um 18:19 Uhr
Nein Bild ist leider kein PrimaryKey dazu gibt es noch eine ID. Bild kann wie gesagt mehrfach vorkommen aber dann halt immer mit einer anderen item_id.

Der Code spuckt bei mir eine Fehlermeldung.
Bitte warten ..
Mitglied: em-pie
12.07.2019 um 21:43 Uhr
Ich sprach ja auch nicht vom Primarkey.
Das Bild wäre für den Join der gemeinsame Nenner, über den du ja die Item_id erhalten willst... so habe ich es jedenfalls verstanden...

Welchen Fehler erhältst du denn?
Bitte warten ..
Mitglied: ukulele-7
13.07.2019 um 08:44 Uhr
Bild ist in jedem Fall die Spalte anhand derer du das ganze zusammen fassen willst. Ich vermute das kommt aber erst durch ein schlechtes Design zustande, also eigentlich ist warscheinlich item_id mehrteilig, ein Teil haben alle Bilder gemeinsam und ein Teil identifiziert die verschiedenen Einträge mit dem selben Bild. In deinem Beispiel wäre das VL03102 als gemeinsammer Nenner und a,b als "VersionsID" des Bildes.

Wenn dem so ist und diese Struktur immer feste Gemeinsamkeiten hat dann könnte man diese Spalte zerlegen und den ersten Teil als Gemeinsamkeit nehmen. Dazu kennen wir die Entstehung der Werte in dieser Spalte aber nicht ausreichend, wird da immer genau maximal ein Buchstabe angehängt und gibt es auch Einträge ohne Buchstaben?

In jedem Fall ließe sich anhand dieser Spalte oder ersatzweise Bild gruppieren oder Joinen. Ich vermute immernoch du willst gruppieren aber dazu müssen wir deine Spalte Lösung und ihre Bedeutung verstehen. Ist das eine Zeichenkette oder ließe sich das anders irgendwie zusammen fassen? Was ist dein Wunschergebnis zu den oben gezeigten Datensätzen?

Und bitte immer Fehlermeldungen posten Um welches SQL handelt es sich?
Bitte warten ..
Mitglied: HeadoN
15.07.2019 um 11:32 Uhr
Ja die Datenbank ist leider sehr schlecht aufgebaut, leider musste ich die für das Projekt so erstmal von meinem Vorgänger übernehmen.

Kurz noch mal erklärt wo was gespeichert wird.

In dieser Tabelle sind Bilder von allen Seiten verschiedener Hefte drin die verschiedene Benutzer ausgefüllt haben. Jetzt ist es so das auf Seite 12 von Heft 5 eine Variable steht und in der Datenbank sind dann bei 100 Leuten die das ausgefüllt haben 100 Datensätze drin mit der Lösung. Nun ist es aber so das auf einer Seite nicht nur eine Variable vorkommt sondern auch mal 7 verschiedene.

Ich möchte mir dann halt alle Variablen und die Lösungen Anzeigen lassen die auf dieser Seite sind. Jetzt kann ich über ein like sagen er soll mir alle bilder raussuchen die in Heft 5 Seite 12 sind, allerdings bekomme ich dann die Variablen untereinander angezeigt (als einzelne Datensätze) aber das möchte ich gerne gruppiert haben.

bisher benutze ich immer folgende where klausel: bild like '%Heft12%' and item-id='va001'

nicht alle variablen sind gleich aufgebaut manchmal ist nur ein buchstabe am anfang mal mehrere
db abfrage - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: em-pie
15.07.2019 um 22:18 Uhr
Tja,

Das Full Outer Join kann MySQL nicht. Bin von MS SQL ausgegangen.

Aber der Fehler sagt es dir doch: „in der Nähe von Full Outer Join gibt es einen Fehler“

Schaue einmal hier
https://www.peterkropff.de/site/mysql/full_outer_join.htm


Gruß
em-pie
Bitte warten ..
Mitglied: HeadoN
16.07.2019 um 12:24 Uhr
Hi em-pie,

sry aber ich bekomms nicht hin. Habe Joins schon damals in der Ausbildung gehasst. Dein Beispiel geht auch von 2 Tabellen aus, habe versucht es auf eine umzuschreiben aber irgendwie klappt das nicht
Bitte warten ..
Mitglied: 140447
LÖSUNG 16.07.2019, aktualisiert um 14:04 Uhr
Moin @HeadoN .
Hier mal schnell durchgespielt:

Exemplarische Tabelle :
screenshot - Klicke auf das Bild, um es zu vergrößern

Dann folgendes SQL in MySQL Workbench ausgeführt:
Und folgendes Ergebnis erhalten:

screenshot - Klicke auf das Bild, um es zu vergrößern

Dabei ist es egal wie viele item_id's zum entsprechenden Bild existieren, diese werden ermittelt und die entsprechenden Spalten generiert.

Lesenswert dazu :Dynamic pivot tables (transform rows to columns)

Ciao.
Gruß
Bitte warten ..
Mitglied: HeadoN
16.07.2019 um 14:48 Uhr
Vielen vielen Dank das war es. Musste es noch ein klein bisschen anpassen aber jetzt funktioniert es perfekt.
Bitte warten ..
Mitglied: 140447
16.07.2019 um 15:08 Uhr
Bitte.
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL ORDER BY und Join mit 2 Tabellen
gelöst Frage von DippsDatenbanken7 Kommentare

Hallo an alle, ich versuche gerade eine Join mit 2 Tabellen auf zubauen und mir den letzten Datensatz Anzeigen ...

Datenbanken
MYSQL View group by
gelöst Frage von schneerunzelDatenbanken2 Kommentare

Hallo zusammen, ich habe eine Tabelle in einer MySQL DB über die ich eine View legen möchte: Die Tabelle ...

Datenbanken
SQL Join Felder nicht editierbar
gelöst Frage von grill-itDatenbanken6 Kommentare

Hallo zusammen, ich habe eine (My)SQL Abfrage über zwei Tabellen formuliert. Allerdings habe ich jetzt das Problem, dass ich ...

Datenbanken

SSIS - Group By und MAX von String-Spalten

gelöst Frage von batpointDatenbanken2 Kommentare

Hallo. Ich habe im SSIS eine Tabelle die ich gerne auf zwei Spalten hin gruppieren möchte. Meine Tabelle sieht ...

Neue Wissensbeiträge
Virtualisierung

VEEAM Instant VM Recovery Datenverlust möglich

Information von sabines vor 8 StundenVirtualisierung

Wer instant VM Recovery unter Veeam nutzt, sollte seine Installation überprüfen. In manchen Fällen könnte es zu Datenverlust kommen, ...

Administrator.de Feedback
Hinweise auf Dienstleister oder auf Suchmaschinen
Information von Frank vor 4 TagenAdministrator.de Feedback71 Kommentare

Lieber User, Admins und Moderatoren, aus gegebenen Anlass möchte ich zwei Dinge endgültig klarstellen und für die Nachwelt festhalten: ...

Router & Routing

PfSense 2.4 IPSec VPN mobile Clients Phase 2 wird plötzlich nicht mehr aufgebaut - So einfach war die Lösung

Tipp von the-buccaneer vor 4 TagenRouter & Routing9 Kommentare

Moinsen! Nachdem ich mir hierbei nen Wolf gesucht habe, möchte ich doch die Welt an dieser simplen Lösung teilhaben ...

Humor (lol)
Wählscheiben Telefon
Information von brammer vor 5 TagenHumor (lol)4 Kommentare

Hallo, Mal wirkliche eine nette Spielerei brammer

Heiß diskutierte Inhalte
Backup
VMware ESXi Cluster Backup
Frage von ADRNEXBackup23 Kommentare

Hallo zusammen, Ich habe eine vmware esxi cluster Umgebung mit ca. 20TB Daten, die auf einem SAN liegen. Es ...

Netzwerkmanagement
Softwareverteilung für kleines Unternehmen mit sehr gemixter Hardware
gelöst Frage von BavarianSysadNetzwerkmanagement20 Kommentare

Hallo zusammen^^, ich stehe vor dem Problem das wir im Unternehmen eine Softwareverteilung einführen soll, leider ist dies wie ...

Windows 10
Dell Optiplex 790 Installation Windows 10
gelöst Frage von Ghost108Windows 1016 Kommentare

Guten morgen zusammen, möchte gerne auf meinem Optiplex 790 Windows 10 installieren (Clean Install). Habe das BIOS von Legacy ...

Netzwerkprotokolle
Verständnissfrage IPv6
Frage von killtecNetzwerkprotokolle14 Kommentare

Hi, ich habe mir einen Online-Kurs zu IPv6 angeschaut. Dabei stellt sich mir die Frage der nutzbaren IPv6-Adressen. Bei ...