2017-07-12 47 views
-1

我有2個名& MYDATA.Column名的數據庫,有客戶的姓名和MYDATA有其Mysql的插入行之間空白行與新價值

purchases: 

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

名單我想下面的步驟:

一)使用SELECT語句,並獲取所需的數據和

b)將MYDATA它UNHEX(不敏感的情況下)

三)理清把按名稱列

d)每當有新的值列名看到輸入在出新的空行把,

期望的結果:

**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 

我已經能夠實現步驟a,b,c與下面的命令。可以幫助如何實現預期結果的第4步。

SELECT NAMES, CAST(UNHEX(MYDATA) AS CHAR) FROM databasename.tablename WHERE LOWER(CAST(UNHEX(USER_DATA) AS CHAR)) LIKE '%jack%' OR LOWER(CAST(UNHEX(USER_DATA) AS CHAR)) LIKE '%amit%' 
order by NAMES; 
+0

您的查詢完全沒有任何結果 - 您是否發佈了正確的查詢? –

回答

0

這不是真正的mysql的工作,漂亮的打印,但你可以通過一個聯合來實現這個虛擬值。

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