Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

select anweisung in MySql

Empfohlene Antworten

Veröffentlicht

Ich habe da ein Problem mit einer Sql Anweisung auf einer MySql Datenbank!

folgendes:

ich habe folgende Tabellen:

Tabelle ZusatzGerichte:

mit den Spalten "ZNr"(primärschlüssel) und "Beschreibung"

Tabelle Wunsch:

mit den Spalten "ZNr" und "PatNr" und "Menge"

jetzt bräuchte ich eine selectabfrage die mir ALLE Gerichte EINMAL zurückgibt,

und falls Patient 1 (PatNr=1) das Gericht hat, soll auch gleich die Menge dabeistehn

d.h. ich fräuchte folgende spalten als ergebnis.

ZNr|Beschreibung|PatNr|Menge

Habs bereits folendermaßen probiert

SELECT ZusatzGerichte.ZNr, Beschreibung, PatNr, Menge FROM ZusatzGerichte LEFT OUTER JOIN PatientenWunsch ON PatientenWunsch.ZNr=ZusatzGerichte.ZNr

ABER: falls mehrere verschiedene Patienten Gericht Nr 1 bestellt haben bekomme ich ZNr 1 öfter.

mit WHERE (PatNr = 1 OR PatNr IS NULL)

bekomme ich ZNr 3 z.b. nicht mehr wenn ein anderer Patient dieses Gericht bestellt hat

Ich bräuchte aber alle Gerichte auf alle fälle, und dann halt noch die info ob Patient 1 das gericht hat, und wenn ja, welche menge...

aber ich bekomms nicht hin....

Vielleciht kann mir einer von euch helfen?

Original geschrieben von SwordMaster

Habs bereits folendermaßen probiert

SELECT ZusatzGerichte.ZNr, Beschreibung, PatNr, Menge FROM ZusatzGerichte LEFT OUTER JOIN PatientenWunsch ON PatientenWunsch.ZNr=ZusatzGerichte.ZNr

Ich kapiere den Sinn hinter dem ganzen nicht so ganz, aber probier es mal so:

SELECT ZusatzGerichte.ZNr, Beschreibung, PatNr, Menge FROM ZusatzGerichte LEFT OUTER JOIN PatientenWunsch ON (PatientenWunsch.ZNr=ZusatzGerichte.ZNr AND PatNr=1)

damit müssten eigentlich die Daten vom Patientenwunsch (also Menge und PatNr) für die Gerichte von PatNr=1 angezeigt werden, für alle anderen sollte es leer bleiben.

So sollte es gehen:

SELECT ZusatzGerichte.ZNr, Beschreibung, PatNr, Menge FROM ZusatzGerichte LEFT OUTER JOIN PatientenWunsch ON PatientenWunsch.ZNr=ZusatzGerichte.ZNr AND PatNr = 1

so bekommst du alle Sätze aus der Tabelle ZusatzGerichte, aber nur die Mengen der Gerichte, die Patient 1 bestellt hat.

Eine Where-Klausel geht über die schon zusammengejointe Menge an Datensätzen, mit weiteren Einschränkungen im Join selbst, kannst du aber weiter einschränken, welche Datensätze aus der zweiten Tabelle dazugejoint werden.

edit: Huch, da war ich wohl einen Tick zu spät ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.