Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Каким образом можно объединить строки результата? / 6 сообщений из 6, страница 1 из 1
24.07.2015, 10:52:10
    #39015156
cha0s1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом можно объединить строки результата?
Есть например таблица такого вида:

file_id | file_product_id | file_name
169 | 392 | NAME1
170 | 392 | NAME2

Каким образом мне за раз вывести это добро так:

file_product_id | file_name | file_name2
392 | NAME1 | NAME2

это нужно делать 2 selecta?
...
Рейтинг: 0 / 0
24.07.2015, 11:15:30
    #39015187
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом можно объединить строки результата?
Это вам нужен JOIN.
...
Рейтинг: 0 / 0
24.07.2015, 11:45:12
    #39015232
cha0s1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом можно объединить строки результата?
можно пример?
...
Рейтинг: 0 / 0
24.07.2015, 11:52:08
    #39015250
cha0s1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом можно объединить строки результата?
просто все гораздо сложнее чем юзать один JOIN у меня уже большой запрос

SELECT p.product_id, p.product_sku, p.product_desc, p.product_full_image, p.product_weight, p.product_in_stock, p.product_discount_id, p.product_name as product_name_ru, p.attribute, l.language_id, l.reference_table, l.reference_field, l.value as value_lv, a.file_url, c.product_price, d.amount as discount, d.start_date, d.end_date, ci.category_id, ci.category_name as category_name_ru, ci.category_description as category_description_ru, ci.category_full_image FROM `jos_vm_product` p

LEFT JOIN `jos_jf_content` l ON p.product_id = l.reference_id AND l.reference_table = 'vm_product'
LEFT JOIN `jos_vm_product_files` a ON p.product_id = a.file_product_id (ТУТ ID не уникален и может быть выбрано 2 и более записи, ВОПРОС КАК мне сделать чтоб он их слепил в одну строку все, а не плодил новый ROW)

LEFT JOIN `jos_vm_product_price` c ON p.product_id = c.product_id AND c.product_currency = 'EUR'
LEFT JOIN `jos_vm_product_discount` d ON p.product_discount_id = d.discount_id
LEFT JOIN `jos_vm_product_category_xref` ch ON p.product_id = ch.product_id
LEFT JOIN `jos_vm_category` ci ON ch.category_id = ci.category_id

написал коммент ;-)
...
Рейтинг: 0 / 0
24.07.2015, 18:35:28
    #39015738
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом можно объединить строки результата?
cha0s1просто все гораздо сложнее чем юзать один JOIN у меня уже большой запрос

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
SELECT 	  p.product_id
	, p.product_sku
	, p.product_desc
	, p.product_full_image
	, p.product_weight
	, p.product_in_stock
	, p.product_discount_id
	, p.product_name AS product_name_ru
	, p.attribute
	, l.language_id
	, l.reference_table
	, l.reference_field
	, l.value AS value_lv
	, a.file_url
	, c.product_price
	, d.amount AS discount
	, d.start_date
	, d.end_date
	, ci.category_id
	, ci.category_name AS category_name_ru
	, ci.category_description AS category_description_ru
	, ci.category_full_image
FROM `jos_vm_product` p 

LEFT JOIN `jos_jf_content` l ON p.product_id = l.reference_id AND l.reference_table = 'vm_product' 
LEFT JOIN `jos_vm_product_files` a ON p.product_id = a.file_product_id 
--  (ТУТ ID не уникален и может быть выбрано 2 и более записи, 
--   ВОПРОС КАК мне сделать чтоб он их слепил в одну строку все, а не плодил новый ROW)

LEFT JOIN `jos_vm_product_price` c ON p.product_id = c.product_id AND c.product_currency = 'EUR' 
LEFT JOIN `jos_vm_product_discount` d ON p.product_discount_id = d.discount_id 
LEFT JOIN `jos_vm_product_category_xref` ch ON p.product_id = ch.product_id 
LEFT JOIN `jos_vm_category` ci ON ch.category_id = ci.category_id


написал коммент ;-)
group_concat ?
...
Рейтинг: 0 / 0
28.07.2015, 13:49:30
    #39017597
cha0s1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом можно объединить строки результата?
это не то, group_concat делает в одном поле записи через разделитель какой-то, а мне надо в виде новых столбцов,

еще раз пример приведу:

file_id | file_product_id | file_name
169 | 392 | NAME1
170 | 392 | NAME2
170 | 392 | NAME3
171 | 392 | NAME4

Результат запроса должен дать

file_id | file_product_id | file_name | file_name2 | file_name3 | file_name4
169 | 392 | NAME1 | NAME2 | NAME3 | NAME4


а group_concat с префиксом "," мне даст
file_id | file_product_id | file_name
169 | 392 | NAME1 , NAME2 , NAME3 ,NAME4

а мне надо чтоб новые столбики добавил с этими значениями ;-) по всей видимости это PIVOT какой-то идет, пока не выходит все это слепить.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Каким образом можно объединить строки результата? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]