2017-06-23 5 views
1

In mssql-db habe ich eine Tabelle mit 5 Spalten. id, 1st_t1, 1st_t2, 2nd_t1, 2nd_t2SQL-Auswahl mit Gruppierung Zeilen

es ist Single "Aufgabe" mit 2 Parametern (T1, T2) "gruppiert" von Person Typ (1., 2.)

Ist es möglich, Informationen so wählen das Bild im Reporting

image

Oder der einzige Weg ?: der Service ist diese Tabelle für jede Person Typ auf zwei Tabellen aufteilen?

Antwort

0

In Ihrem Bericht muss Ihr Detail zwei Zeilen enthalten.

Auf dem ersten werden Sie ziehen und die Daten der 1. Person fallen und in der zweiten Reihe zum zweiten wie im Bild unten

enter image description here

+0

Ich habe meine Antwort aktualisiert. Sie können es direkt in Reporting Services tun, die Ihre Anfrage intakt halten – niktrs

+0

Es tut mir sehr leid. es war wirklich eine einfache naheliegende Lösung. vielen Dank – scabb

+0

Gern geschehen! Vielleicht ist es manchmal offensichtlich, aber die erste Lösung kam mir in den Sinn, Änderungen an SQL vorzunehmen, was nicht der beste Ansatz war. – niktrs

0

Bitte versuchen Sie unter Abfrage:

WITH T(ID, First_t1, First_t2, Second_t1, Second_t2) 
AS 
(
SELECT * 
FROM 
(
SELECT 1 ID, '1st_t1' First_t1, '1st_t2' First_t2, '2nd_t1' Second_t1, '2nd_t2' Second_t2 
UNION 
SELECT 2 ID, '1st_t1' First_t1, '1st_t2' First_t2, '2nd_t1' Second_t1, '2nd_t2' Second_t2 
UNION 
SELECT 3 ID, '1st_t1' First_t1, '1st_t2' First_t2, '2nd_t1' Second_t1, '2nd_t2' Second_t2 
) A 
) 
SELECT * FROM 
(
SELECT '1st person' person, Id,First_t1 t1,First_t2 t2 FROM T 
union 
SELECT '2nd person' person, Id,Second_t1 t1,Second_t2 t2 FROM T 
) B 
ORDER BY id 
+0

Dies war mein erster Gedanke, aber es kann direkt in Reporting Services getan werden, die SQL einfach und schneller halten. – niktrs