September 24, 2020, 05:04:47

Neuigkeiten:

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


Mehrere Kriterien in einer Spalte

Begonnen von pmmuc, September 10, 2020, 20:54:49

⏪ vorheriges - nächstes ⏩

ebs17

September 12, 2020, 14:02:31 #15 Letzte Bearbeitung: September 13, 2020, 13:08:59 von ebs17
Dann ist die Parametertabelle so wie sie sein sollte und Du hast ggf. das nicht hinreichend berücksichtigt:
Zitatdabei sollten selbstredend die Kombinationen aus Name und Event eindeutig sein

Bei falschen (nicht so erwarteten) Ergebnissen kann auch statt eines Codefehlers ein Datenfehler die Ursache sein.
Da könnte man bspw. so reagieren:
SELECT
   NE.Name_ID
FROM
   (SELECT DISTINCT Name_ID, Event_ID FROM tblNameEvent) AS NE
WHERE
   NE.Event_ID IN
      (SELECT MyValue FROM tblParameter)
GROUP BY
   NE.Name_ID
HAVING
   COUNT(*) =
      (SELECT COUNT(*) FROM tblParameter)

Laut Deinem Beziehungsbild machen Duplikate allerdings gar keinen Sinn und sollten bereits über einen zusammengesetzten eindeutigen Index verhindert werden.
Mit freundlichem Glück Auf!

Eberhard

pmmuc

Es funktioniert!
Vielen Dank.
Ja, das Problem waren tatsächlich einige gedoppelte und damit nicht eindeutige Datensätze.
Den Hinweis zum zusammengesetzten Index werde ich gleich noch mit umsetzen, bislange habe ich nur einen einfachen Index verwendet (wie man sieht mit fatalen Folgen).
Vielen Dank für Eure Geduld mit mir.
Gruß Peter

ebs17

Zitateinen einfachen Index verwendet
Mit Setzen der referentiellen Integrität bei der Erstellung einer Beziehung wird das Fremdschlüsselfeld automatisch indiziert (leider nicht sichtbar, nur über Codeabfrage darstellbar). Daher sind selbst gesetzte Einzelindizes auf Fremdschlüsselfelder überflüssig und eigentlich sogar schädlich (Aufwand für nichts, weil doppelt).
Mit freundlichem Glück Auf!

Eberhard

pmmuc

Danke.

Noch eine Frage:
Um zu lernen studiere ich gerade Deinen vorletzten Post. Für was steht eigentlich das NE.
Ist es eine neu Tabelle die anzulegen ist?

Gruß Peter

ebs17

September 12, 2020, 21:34:46 #19 Letzte Bearbeitung: September 13, 2020, 09:36:16 von ebs17
ZitatFür was steht eigentlich das NE
Das ist ein Tabellenalias, siehe Grundlagen - SQL ist leicht (2) - Alias

Sowie gerne verwendet: Abkürzung mit gedanklichem Bezug zum eigentlichen Namen:
tblNameEvent
Mit freundlichem Glück Auf!

Eberhard

pmmuc