SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

 
 
Themen-Optionen Ansicht
  #1  
Alt 18.01.2017, 09:20:06
Tikiwiki Tikiwiki ist offline
Anfänger
 
Registriert seit: Apr 2005
Beiträge: 115
CASE THEN Abfragen

Hallo Gemeinde,

ich hätte eine Problemstellung wozu ich Eure Hilfe benötige (falls das überhaupt so lösbar ist wie ich mir das vorstelle).

Ausgangssituation:
Jede Person muss 3 Aufgaben absolvieren und zu jeder Aufgabe werden Punkte vergeben.
Die Tabelle sieht folgend aus:
persID | f_aufgabeid | status_aufgabe
1 | 1 | 3
1 | 2 | 5
1 | 3 | 2

f_aufgabenid ist die Aufgabennummer 1-3
status_aufgabe ist die Punkteanzahl

Was will ich errreichen
Eine Art Pivot-Darstellung

persID | Aufgabe 1 | Aufgabe 2 | Aufgabe 3
1 | 3 | 5 | 2

Mein Versuch dies abzubilden ist folgender (und das ist anscheinend der falsche Weg)

PHP-Code:
SELECT persidvornamenachnamejahrf_aufgabenidstatus_aufgabe,
(CASE 
WHEN f_aufgabenid 1 THEN status_aufgabe END) AS Aufgabe_1,
(CASE 
WHEN f_aufgabenid 2 THEN status_aufgabe END) AS Aufgabe_2,
(CASE 
WHEN f_aufgabenid 3 THEN status_aufgabe END) AS Aufgabe_3,
FROM `aufgaben_person`
WHERE jahr '2016' 
Als Ausgabe bekomme ich folgende Struktur.

persid | vorname | nachname | jahr | f_aufgabenid | status_aufgabe | Aufgabe_1 | Aufgabe_2 | Aufgabe_3
1 | Max | Muster | 2016| 1 | 3 | 3 | NULL | NULL
1 | Max | Muster | 2016| 2 | 5 | NULL | 5 | NULL
1 | Max | Muster | 2016| 3 | 2 | NULL | NULL | 2

Auch ein SUM(CASE ... oder COUNT(CASE ... bringt nichts oder eines der Felder mit GROUP BY zu gruppieren hilft nichts.

Frage: Wie könnte eine mögliche SQL-Abfrage aussehen um das gewünschte Ergebnis zu erzielen (falls es möglich ist)?

Besten Dank im Voraus und hoffe die Aufgabenstellung ist nachvollziehbar für Euch.

lg
Dietmar
Mit Zitat antworten
 

Stichworte
case then, kreuztabelle, pivot


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[MySQL] IF / CASE: mehrere Werte abfragen Zeussi MySQLi/PDO/(MySQL) 2 01.08.2009 15:44:53
URL verstecken und anderes JB PHP für Fortgeschrittene und Experten 9 14.06.2006 17:16:29
CASE THEN ELSE - Abfrage Tikiwiki MySQLi/PDO/(MySQL) 2 17.01.2006 11:42:00
Das soll nach 1 h ausgeführt werden! Spike15 PHP Grundlagen 12 04.04.2005 16:29:57
Weiterleitung in if-Schleife Chilla PHP für Fortgeschrittene und Experten 15 05.05.2004 19:19:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:15:47 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt