2017-07-12 3 views
-1

Ich habe eine Datenbank mit 2 Spaltennamen & MYDATA.Column NAMES Namen der Kunden hat und MYDATA hat Liste ihrerMysql einfügen leere Zeile zwischen den Zeilen mit neuem Wert

purchases: 

**NAMES** **MYDATA** 
AMIT PEPSI 
AMIT COKE 
AMIT LIMCA 
JOHN PEPSI 
JOHN COKE 
PAUL COKE 
PAUL COKE 
JACK PEPSI 
JACK LIMCA 

Ich mag folgende Schritte:

a) Verwenden sie SELECT-Anweisung und nutzen sie die erforderlichen Daten ein und

b) Konvertieren MYDATA es UNHEX (Unempfindlich Fall)

out

c) Sortieren setzte nach NAMES Spalt

d) Geben Sie eine neue leere Zeile in dem außer Betrieb gesetzt, sobald ein neuer Wert in Spaltennamen zu sehen ist

Strebte Ergebnisse:

**NAMES** **MYDATA** 
AMIT PEPSI 
AMIT COKE 
AMIT LIMCA 
<BLANK ROW> <BLANK ROW> 
JOHN PEPSI 
JOHN COKE 
<BLANK ROW> <BLANK ROW> 
PAUL COKE 
PAUL COKE 
<BLANK ROW> <BLANK ROW> 
JACK PEPSI 
JACK LIMCA 

Ich konnte die Schritte a, b, c mit dem unten angegebenen Befehl erreichen. Kann Ihnen helfen, Schritt 4 für die gewünschten Ergebnisse zu erreichen.

+0

Ihre Anfrage erzeugt gar nichts - haben Sie die richtige Suchanfrage gepostet? –

Antwort

0

Es ist nicht wirklich Mysqls Aufgabe, schön zu drucken, aber Sie können dies mit einer Union zu einem Dummy-Wert erreichen.

select case when mydata = 'XXXXX' then '' else names end as name, 
case when mydata = 'XXXXX' then '' else mydata end as value 
from 
(
select t.* 
from t 
union 
select distinct names, 'XXXXX' 
from t 
) s 
order by names,mydata 
Verwandte Themen