2014-10-10 43 views
0

我需要在不使用UNION [ALL]的情況下在mysql的結果集的末尾添加一個虛擬行。將行添加到結果集而不使用union mysql

我知道mysql不支持完整連接,所以黑客無法在這裏工作。

我盡了最大的努力,但沒有任何想法?

+2

什麼你試過到目前爲止,你可以嘗試一下? – ssedano 2014-10-10 20:48:59

回答

0

由於您沒有提供任何SQL,也沒有提及虛擬行的內容,所以我只能猜測您可能正在解決某種SQL難題,並準備好任何解決方案,甚至是一個難看的解決方案。

除了UNION我能想到添加虛擬行的唯一方法是使用GROUP BY子句和ROLLUP。因此,這裏是一個相當笨拙的方式來做到這一點:

SELECT 
    IFNULL(id, 'Dummy1') as First, 
    IFNULL(product, 'Dummy2') as product, 
    IFNULL(price, 'Dummy3') as price, 
    IFNULL(qty, 'Dummy4') as qty, 
    IFNULL(barcode, 'Dummy5') as Last 
FROM 
    products 
GROUP BY 
    id, product, price, qty, barcode 
WITH ROLLUP 
HAVING 
    Last <> 'Dummy5' or First = 'Dummy1' 

與此fiddle ...

+0

這真的很酷的黑客..謝謝.. – user2407394 2014-10-11 06:31:30