[MYSQL] Hilfe bei speziellem SELECT

D

Defender

Hallo,

ich habe ein Problem das ich gerne mit einem "Trigger" oder einer "Stored Procedure" lösen möchte, wobei ich in diesem Bereich noch keine Erfahrungen habe. Dachte nur das es der eleganteste Weg ist.


Ausgangs Situation:

Es handelt sich dabei um ein größeres Projekt in der es eine Tabelle ("atk_group") gibt, in der sich Details zu einigen Gruppen befinden.

Auf diese Informationen wird durch verschiedene unabhängige "SELECT" Abfragen zugegriffen. Die unterschiedliche Angaben bei "WHERE" oder "SELECT" enthalten.

Da es nun vorkommen kann das sich eine Gruppe auflöst, sozusagen gelöscht wird, habe ich in die Tabelle ein Feld eingefügt namens "flag_deleted" vom Typ "varchar" <-- "varchar" aus dem Grund da hier auch eine kurze Info mitgespeichert wird

Die Details können nicht komplett gelöscht werden da es einige Einträge in anderen Tabelle gibt die im Bezug auf die "group_id" diese Infos benötigen.


Nun zum eigentlichen Problem bzw. Frage:

Wenn ich mir nun zum Beispiel alle bzw. einige Gruppen auflisten lassen, möchte ich nicht das die als gelöscht gekennzeichneten mit ausgelesen werden.

Es soll aber durchaus möglich sein das die Details ausgelesen werden wenn genau die ID ("group_id") angesprochen wird.

Meine Überlegungen:

... waren nun das doch die Datenbank auf folgende Kriterien prüfen kann:
  • wurde kein WHERE angeben: lies alle Gruppen aus die nicht gekennzeichnet sind
  • wenn eine einzelne ID im WHERE angeben wurde: lies die Details aus auch bei gekennzeichnet
  • wurden mehrere IDs im WHERE angeben: lies die Details dieser Gruppen aus
  • wurde etwas im WHERE angeben aber nicht die genaue ID: lies alle zutreffenden Gruppen aus aber nicht die gekennzeichneten ausser es wurde natürlich " flag_deleted != '' " angefragt

Ich hoffe jemand von euch kann mir helfen.

Danke schon einmal fürs lesen. MfG.
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück