hrach

Рейтинг
122
Регистрация
21.08.2004
Должность
programer
Интересы
Internet
programer
Bublik11:
Нда. Непонятно.,

А что с этим не так? Поясните пожалуйста

У вас написано Выды печати - может все же Виды печати

Автор у вас там:

<u>Выды печати</u>
Swir:
В смысле не получу? в нонешнем mysql получу. Группировать ещё и по text и type_id имеет смысл, если для одного id может быть несколько телефонов, например, или сайтов. Но думаю, что вряд ли. А поскольку FROM, WHERE и id - одна таблица, то пройдёт по всем id

не спорю:) надо знать задачу до конца, смотреть какой результат будет на реальных данных.

зы у меня 2 номера телефона и куча e-mail адресов, как и у всех))

Swir:
Так сделать группировку только t1.id и не нужен вложенный запрос будет возвращать по одной строке на один id. Я так понимаю, у него же на один id по одному оответствующему тел, сайту, имени

---------- Добавлено 12.11.2019 в 22:40 ----------



Мне, кажется, вот так достаточно

а вам не кажется, что вы не сможете получить значения столбцов (text, type_id), которые не участвуют в группировке?:)))

А так чтобы без макс? Мне ведь все нужны, чтобы циклом по ним пройтись. Чтобы с группировкой по id и без нулл

не совсем понимаю что нужно... чем мешает max?

вы выполнили запрос?

скиньте сюда результат с описанием проблемы

Dram:
hrach, Спасибо, оч интересная конструкция, буду изучать!

вложенная таблица вернет все те же 4 строки, только в некоторых столбцах будет NULL.

Для этого выбираем из полученного агрегатом max.

а какая разница сколько там таблиц?:))



select MAX(id), MAX(f1),MAX(f2),max(f3),MAX(f4) from (

SELECT t1.id,
case when t2.type_id=1 then t2.text end as f1,
case when t2.type_id=2 then t2.text end as f2,
case when t2.type_id=6 then t2.text end as f3,
case when t2.type_id=7 then t2.text end as f4

FROM firm_items as t1
INNER JOIN firm_items_fields_value as t2 on t1.id = t2.item_id

WHERE t1.category_id = 45


group by t1.id,t2.type_id,t2.text
) dt

select MAX(id), MAX(f1),MAX(f2),max(f3),MAX(f4) from (


select id,case when type_id=1 then text1 end as f1,
case when type_id=2 then text1 end as f2, case when type_id=6 then text1 end as f3,
case when type_id=7 then text1 end as f4
from table_1

group by id,type_id,text1) dt

пробуйте (под рукой mysql нет, пример для ms sql)

То, что вы хотите сделать называется Pivot table - развернуть строки в столбцы.

Гуглите pivot mysql

ArbNet:

Что касается "будет разбираться в вашем xml". Не надо в нём разбираться надо просто понять принцип составления структуры, а он достаточно прост



<news News="какой шаблон нужен">
<img>путь к картинке</img>
<title>Заголовок</title>
<text><!-- бла-бла-бла --></text>
</news>

<news News="какой шаблон нужен">

<img>как указать путь я так и не понял, обойдусь и без картинки</img>

<title>Что больше?</title>

<text>Интересный вопрос а>b?</text>

</news>

По-моему я что-то сломал)

З.Ы. не все так просто)

Вы лучше баги исправьте.

https://vamhost.ru/category-a/product-a

1)добавьте в корзину размер L, цвет красный
2) добавьте другие размеры и варианты расцветки
3)посмотрите что в корзине
Всего: 121