Size: a a a

2021 August 27

DE

Denis Efremov in MySQL
Ещё бот есть ))
источник

C

Combot in MySQL
Emir has been banned! Reason: CAS ban.
источник

ls

løst søul in MySQL
он опять своим кроссвордом хвастается?
источник

РW

Роман Webds in MySQL
table 1 (Таблица 1  - к примеру товар)
| tovar_id | name |
| 1               | demo1|
| 2               | demo2|
| 3               | demo3|

——

table 2 (Таблица 2 - к примеру теги)
| tag_id | tovar_id | tag_name |
| 10        | 1               |   тег1 |
| 11        | 1               |   тег2 |
| 12        | 2               |   тег3 |
| 13        | 1               |   тег5 |

В итоге необходимо вывести результат:

tovar_id | тег1 | тег2 | тег3 | тег5
1               | 1       |    1     |   0        |   1
2               | 0       |    0      |  1        |   1
3               | 0       |    0      |  0        |  0

Как бы правильно запрос написать..  фишка в том, что нет понятия сколько может быть тегов, столбиков и какие названия могут быть.
источник

L

LiFeAiR in MySQL
Отдельно хранить эти каунты в быстром хранилище и пересчитывать событийно
источник

L

LiFeAiR in MySQL
А почему это надо делать в sql
Это классическая задача для двух запросов и циклов по ним на беке
источник

РW

Роман Webds in MySQL
та в паверБИ масив нужен
источник

РW

Роман Webds in MySQL
бек это последнее, хотелось запросом
источник

DE

Denis Efremov in MySQL
Можно написать хранимку, которая бы генерировала запрос и исполнять его через prepare statement
источник

DE

Denis Efremov in MySQL
Я показываю просто. Гриша не видел
источник

ls

løst søul in MySQL
Ну компенсируй, компенсируй, я не против
источник

ls

løst søul in MySQL
источник

G

Grigorij in MySQL
Не, ну так то прикольно. Я бы даже похвалил. Но у меня не запустилось и был вечный лоадинг))
источник

DE

Denis Efremov in MySQL
Хм странно. Сафари что-ли?
источник

DE

Denis Efremov in MySQL
Ты с компа пробовал?
источник

РW

Роман Webds in MySQL
Тыкнуть на похож пример или как правильно найти
источник

DE

Denis Efremov in MySQL
источник

DE

Denis Efremov in MySQL
источник

G

Grigorij in MySQL
Да, хром
источник

L

LiFeAiR in MySQL
SET @sql = NULL;

SELECT
 GROUP_CONCAT(DISTINCT
   CONCAT(
     'sum(case when tag_name = ''',
     tag_name,
     ''' then 1 else 0 end) AS `',
     tag_name, '`'
   )
 ) INTO @sql
from
(
 select tag_name
 from tags
 GROUP BY tag_name
 ORDER BY tag_name
) d;


SET @sql
 = CONCAT('select
 p.tovar_id, ', @sql, '
           from tovars p
left join tags t
 on p.tovar_id = t.tovar_id
group by p.tovar_id;');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

работает
но выглядит как говно)))
https://www.tarynpivots.com/post/how-to-rotate-rows-into-columns-in-mysql/
источник