2016-04-18 9 views
1

Dies ist die gegebene Tabelle:disply zwei Reihen von einreihigen

enter image description here

Ich brauche diese Daten zu bekommen, ohne temporäre Tabelle erstellen auf der Grundlage der obigen Tabelle:

enter image description here

Wir kann temporäre Tabelle nicht verwenden. Ich muss die Daten nur mit SQL-Abfrage anzeigen.

Antwort

0

Versuchen Sie, diese

SELECT company name,'No' as value, clicks as data 
from table1 
union all 
SELECT company,'Yes', (clicks - impression) 
from table1 
order by name,val 
+1

Wie sortiere ich sie ?? –

+0

SELECT A.NAME, A.VAL, A.DATA FROM (COMPANY AS Namen auswählen, 'JA' AS VAL, (CLICKS Eindrücke) AS DATA FROM OR_TABLE UNION SELECT COMPANY AS NAME, 'NO' AS VAL , ABDRÜCKE ALS DATEN VON OR_TABLE) A ORDER VON A.NAME ASC; –

0

Sie UNION ALL Ihre Tabelle UNPIVOT verwenden können:

SELECT 
    company, 
    'No' AS val, 
    impression AS data 
FROM tbl 
UNION ALL 
SELECT 
    company, 
    'Yes' AS val, 
    clicks - impression AS data 
FROM tbl 
ORDER BY company, val 
0

Sie benötigen UNION ALL

SELECT company,'No' val, impression as data from your_table 
union all 
SELECT company,'Yes' val, clicks-impression as data from your_table 
0
select company as name, 'No' as val, impression as data 
from tbl 
union 
select company as name, 'Yes' as val, clicks - impression as data 
from tbl 
0
SELECT COMPANY AS NAME, 'YES' AS VAL, (CLICKS-IMPRESSIONS) AS DATA 
FROM ORIGINAL_TABLE 
UNION 
SELECT COMPANY AS NAME, 'NO' AS VAL, IMPRESSIONS AS DATA 
FROM ORIGINAL_TABLE 

Wenn Sie sie sortiert haben möchten: Versuchen Sie dies:

SELECT A.NAME, A.VAL, A.DATA FROM 
(SELECT COMPANY AS NAME, 'YES' AS VAL, (CLICKS-IMPRESSIONS) AS DATA 
FROM OR_TABLE 
UNION 
SELECT COMPANY AS NAME, 'NO' AS VAL, IMPRESSIONS AS DATA 
FROM OR_TABLE) A 
ORDER BY A.NAME ASC; 
Verwandte Themen