romy: SQl Statement macht probleme

Beitrag lesen

Hi Ole,

ID, EIGNER, KUNDE, NAME, BESCHREIBUNG, USER, ANGELEGT, MODERATOR, BEZEICHNUNG

EIGNER und KUNDE haben eine 1:1 zuordnung, da steht nämlich nur eine zahl drin.

Zuordnung wohin?

USER hat eine 1:n zuordnung, dort stehen ein oder mehrere zahlen durch komma getrennt

Zuordnung wohin?

Ich glaube Du hast einige Dinge des Umganges mit Datenbanken noch nicht verstanden.
Zellen, duie mehr als einen Inhalt haben, sind wenn möglich zu umgehen, indem auf eine andere Tabelle verweisst, welche die entsprechenden Inhalte hat. So etwas nennt man dann auch Beziehung untereinander (welcher Form auch immer)

Ich verstehe, das Ganze so, dass ein Kunde immer mehrere User haben kann?
Lege eine Zweite Tabelle an, welche den User und eine Referenz auf den Kunden enthält (das Feld kann dann auch gleich Primärschlüssel sein, falls dieser Datensatz eindeutig ist, was ich so verstanden habe)

select * from auftrag where

eigner = '#session.eigner#'
AND
(
kunde = '#session.user_id#'
OR user LIKE '#session.user_id#'
OR user like '#session.user_id#,*'
OR user like '*,#session.user_id#,*'
OR user like '*,#session.user_id#'
)

warum steht das "OR user like '*,#session.user_id#'" gleich 4x im Statement?
Wenn wir jetzt von deinem Datenbankmodell ausgehen, hast DU ein Fels mit mehreren Nummern drin (welche die User darstellen)
Du musst innerhalb des Feldes selbst suchen ob die jeweilige Numemr drin vorkommt, aber wie gesagt, so etwas sollte man unterlassen.

Am Besten Du beschäftigst Dich noch ein bisschen mit Datenbanken an sich und wenn es noch Fragen gibt, poste mal, was Du genau erreichen möchtest.

ciao
romy