Ich bin wirklich in diesem stecken. Ich habe versucht, Union, indem Sie eine ausführbare Anweisung vorzubereiten. Ich bin mir sehr wohl bewusst, dass SQL keine Sprache für solche Aufgaben ist, aber ab sofort ist es das Ziel, einen Prototyp zu erstellen. Die eigentlichen technischen Implementierungen würden später passieren.Mysql: Anzeige der Werte der Spalte unter einer anderen Spalte
Ich werde meine Anforderungen erklären.
Es gibt eine temporäre Tabelle, in der ich Name, Projekt und Funktionen zu diesem Projekt speichern. Die Spalten speichern Zeilen wie:
Beispieldaten:
project, Tracker, resource_name, Total_Hours, date, project_counts,
'Slim', 'Feature', 'babu.balakrishnan', '39', '2016-10-22', '20'
'Slim', 'Feature', 'prasenjit.ghosh', '1.5', '2016-10-22', '2'
'Slim', 'Feature', 'shamim.akhtar', '3', '2016-10-22', '2'
'Slim', 'Support', 'babu.balakrishnan', NULL, '2016-10-22', '1'
'Slim', 'Support', 'shamim.akhtar', '3', '2016-10-22', '2'
I ausgegeben werden soll auf diese Weise angezeigt werden:
babu.balakrishnan Slim 2016-10-22
Feature 20
Support 1
prasenjit.ghosh Slim
Feature 3
Ich weiß, wie Name des Entwicklers angezeigt werden, Name des Projekts und Datum in einer Zeile, aber ich kann nicht herausfinden, wie ich fortfahren soll, um den Status des Projekts unterhalb des Projektnamens anzuzeigen. Dies gilt auch für nur einen Entwickler. Ich muss das für alle Projekte wiederholen, mit denen ein Entwickler verbunden ist, und dann auch für andere Entwickler.
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'CASE WHEN date = ''',
date,
''' then project_counts end AS `', date, '`')
ORDER BY date) INTO @sql
FROM finance_dashboard.resource_utilization_data;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'CASE WHEN project = ''',
project,
''' then Tracker end AS `', ' ' , '`')
ORDER BY date) INTO @sql2
FROM finance_dashboard.resource_utilization_data;
SET @sql = CONCAT('select distinct resource_name, project
,',@sql, ' from finance_dashboard.resource_utilization_data
union
select '''' ,', @sql2, '," " FROM
finance_dashboard.resource_utilization_data group by
Tracker');
Die Ausgabe, die ich erhalte ist:
'babu.balakrishnan', 'Slim', '20'
'prasenjit.ghosh', 'Slim', '2'
'shamim.akhtar', 'Slim', '2'
'babu.balakrishnan', 'Slim', '1'
'', 'Feature', ' '
Ich möchte Funktion, Unterstützung oder was auch immer Status für diesen Entwickler, unten schmal erscheinen, für die jeweiligen Entwickler.
Ist dies auf Abfrageebene möglich? Ich weiß, Aggregatfunktion muss verwendet werden.
Ist es auch möglich, Variablen dyamisch zu binden, so dass der Wert einer bestimmten Zeile unterhalb der Spalte geschrieben wird?
Dank
Sind die Anzahl der Fixtermine, oder sind sie variabel? Auf den ersten Blick würde ich sagen, dass dies am besten in Ihrer App-Ebene (PHP?) Gehandhabt werden kann. –
Ja. Termine sind kein Problem. Die SQL würde für Startdatum und Enddatum ausgeführt werden. Das Einzige, was ich zeigen muss, sind die Daten, die in einer Übersichtstabelle gespeichert werden. Leider wird derzeit keine andere Programmiersprache empfohlen. –
Ihre Beispieldaten und Ausgabe sind nicht gut ausgerichtet, zumindest ist nicht klar, wie Sie es erreichen können. Bitte geben Sie ein reproduzierbares Beispiel. –