Hallo
Ich möchte herausfinden, ob ein Tag in einem Profil vorkommen. Ich verwende ein View (MySQL 5).
Haupttabelle Arbeitszeit: (Id(INT), Startdatum(Datetime), Profil(Varchar)
Id, Startdatum, Profil
1 12.01.2015, 2,3,4,5,6
1 13.01.2015, 2,3,4,5,6
1 14.01.2015, 2,3,4,5,6
1 15.01.2015, 2,3,4,5,6
1 16.01.2015, 2,3,4,5,6
1 17.01.2015, 2,3,4,5,6
1 18.01.2015, 2,3,4,5,6
Mein View:
Select
Id, Startdatum,
(CASE
WHEN DayOfWeek(arbeitszeit.Startdatum) IN (arbeitszeit.Profil)
THEN 1
ELSE 0 END) AS IST
Leider bekomme ich nur für die ersten TAG (2) einen Resultat und für die anderen nicht.
Meine Fragen:
1. Darf ich das "IN" innerhalb von Case verwenden?
2. Warum erhalten ich nur den Wert für den 2 und nicht für die 3,4,..
3. Muss ich als Datentype für Profil was anderes wählen?
4. Gibt es einen besseren weg?
danke
mpol_ch
Ich möchte herausfinden, ob ein Tag in einem Profil vorkommen. Ich verwende ein View (MySQL 5).
Haupttabelle Arbeitszeit: (Id(INT), Startdatum(Datetime), Profil(Varchar)
Id, Startdatum, Profil
1 12.01.2015, 2,3,4,5,6
1 13.01.2015, 2,3,4,5,6
1 14.01.2015, 2,3,4,5,6
1 15.01.2015, 2,3,4,5,6
1 16.01.2015, 2,3,4,5,6
1 17.01.2015, 2,3,4,5,6
1 18.01.2015, 2,3,4,5,6
Mein View:
Select
Id, Startdatum,
(CASE
WHEN DayOfWeek(arbeitszeit.Startdatum) IN (arbeitszeit.Profil)
THEN 1
ELSE 0 END) AS IST
Leider bekomme ich nur für die ersten TAG (2) einen Resultat und für die anderen nicht.
Meine Fragen:
1. Darf ich das "IN" innerhalb von Case verwenden?
2. Warum erhalten ich nur den Wert für den 2 und nicht für die 3,4,..
3. Muss ich als Datentype für Profil was anderes wählen?
4. Gibt es einen besseren weg?
danke
mpol_ch