Сделаю здесь для себя небольшое хранилище полезных SQL-запросов, которые частенько приходится использовать.
Надеюсь это будет полезно кому-то кроме меня.
Все запросы можно выполнить в консоле запросов /bitrix/admin/sql.php?lang=ru
Выбрать элементы инфоблока, которые привязаны больше чем к одной секции
нужно указать идентификатор инфоблока
e.IBLOCK_ID = 13
Выбрать все товары для которых установлено несколько значений одного типа цены
Устанавливаем фильтр по идентификатору типа цены p.CATALOG_GROUP_ID = 10
Проверить есть ли в базе пользователи с одинаковыми логинами
Надеюсь это будет полезно кому-то кроме меня.
Все запросы можно выполнить в консоле запросов /bitrix/admin/sql.php?lang=ru
Выбрать элементы инфоблока, которые привязаны больше чем к одной секции
нужно указать идентификатор инфоблока
e.IBLOCK_ID = 13
select e.ID as ID ,e.ACTIVE as E_ACTIVE ,e.NAME as NAME ,e.IBLOCK_ID as IBLOCK_ID ,count(se.IBLOCK_ELEMENT_ID) as cnt ,GROUP_CONCAT(se.IBLOCK_SECTION_ID) as sections from b_iblock_section_element se left join b_iblock_element e on e.ID = se.IBLOCK_ELEMENT_ID left join b_iblock_section s on s.ID = se.IBLOCK_SECTION_ID where e.IBLOCK_ID = 13 group by se.IBLOCK_ELEMENT_ID having (cnt > 1) order by cnt desc |
Выбрать все товары для которых установлено несколько значений одного типа цены
Устанавливаем фильтр по идентификатору типа цены p.CATALOG_GROUP_ID = 10
select p.PRODUCT_ID ,b.NAME ,b.CODE ,b.TIMESTAMP_X ,count(p.PRODUCT_ID) as cnt from b_catalog_price p left join b_iblock_element b on p.PRODUCT_ID = b.ID where p.CATALOG_GROUP_ID = 10 group by p.PRODUCT_ID having cnt > 1 order by cnt desc |
Проверить есть ли в базе пользователи с одинаковыми логинами
select login ,count(login) as cnt from b_user group by login having cnt > 1 order by cnt desc |