2017-01-02 3 views
0

текущей таблицы:MySQL слияния конкретные строки

╔════════════════════════════════════════╗ 
║ id ║ price ║ tax ║ sku ║ description ║ 
╠════════════════════════════════════════╣ 
║ 123 ║ 10 ║ 1 ║ sku1 ║ Dress  ║ 
║ 123 ║ 0  ║ 0 ║ sku1 ║ Dress-Small ║ 
╚════════════════════════════════════════╝ 

Результат, который я хочу:

╔════════════════════════════════════════════╗ 
║ id ║ price ║ tax ║ sku ║ description ║ 
╠════════════════════════════════════════════╣ 
║ 123 ║ 10  ║ 1 ║ sku1 ║ Dress-Small ║ 
╚════════════════════════════════════════════╝ 

Я хочу, чтобы получить идентификатор, цена, налоговой и СКУ из 1-й ряд, а затем получите описание из 2-й строки. Как это можно достичь?

+1

Интересный дизайн базы данных? Возможно, это ваша проблема. – RiggsFolly

+0

Это почти то же самое с торговым столом Magento2. – Brian

+0

Строки не гарантируются для отображения в любом порядке. Вы ссылаетесь на первую и вторую строки. Что отличает эти строки? Вы имели в виду платье и платья-маленькие ряды? –

ответ

0

Как насчет

SELECT MAX(id) id, 
      MAX(price) price, 
      MAX(tax) tax, 
      sku1, 
      MAX(description) description 
     FROM Table 
    GROUP BY sku1 

Вы не объясните, как вы знаете, что вторая строка содержит правильное описание, так что это предположение.

0

Вот ваш ответ. Пример SQL Fiddle

SELECT A.id, A.price, A.tax, A.sku, B.Description 
FROM (
    SELECT * 
    FROM MyTable 
    WHERE description = 'Dress' 
) AS A 
LEFT JOIN (
    SELECT * 
    FROM MyTable 
    WHERE description = 'Dress-Small' 
) AS B 
ON A.ID = B.ID 

Я хотел бы рассмотреть вопрос о принятии твердого взгляда на то, что делает id столбец для таблицы. Можете также удалить его.

Смежные вопросы