2016-03-25 35 views
1

Şu anda MySQL üzerinde çalışıyorum ve verileri birleştirme konusunda sorun yaşıyorum. Bunu dış katmanda yapmak istemiyorum.Birden Çok MySQL Sütunu ve Satırının Birleştirilmesi

Temel olarak, bir ürün ürün var. tablo yapısı aşağıdaki gibidir:

========================= 
id item_name stock 
========================= 
1  Soap  100 
2  Plate  89 
3  Scissor  72 
========================= 

Biliyorum, MySQL kullanabilirsiniz GROUP_CONCAT() fonksiyonu: sonuçlarla

SELECT GROUP_CONCAT(item_name SEPARATOR ', ') AS items FROM item WHERE id IN (1, 2, 3); 

:

====================== 
items 
====================== 
Soap, Plate, Scissor 
====================== 

Ama istenilen sonucu:

Soap (100), Plate (89), Scissor (72) 

cevap

0

Ayrıca sadece her oluşturarak, GROUP_CONCAT() kullanarak yapabilirsiniz toplamadan önce item_name ve stock öğesinden:

SELECT GROUP_CONCAT(item_name, ' (', stock, ')' SEPARATOR ', ') AS items 
FROM item 
WHERE id IN (1, 2, 3); 

Biraz bilinen bir gerçek, GROUP_CONCAT()'un birden fazla argüman almasıdır. Bunu şu şekilde de yazabilirsiniz:

SELECT GROUP_CONCAT(CONCAT(item_name, ' (', stock, ')') SEPARATOR ', ' 
        ) AS items 
FROM item 
WHERE id IN (1, 2, 3); 
İlgili konular