MySQL запрос в подсущность
-
- Сообщения: 23
- Зарегистрирован: 08 янв 2023, 09:22
- Имя: guitar-craft
- Откуда: Южно-Сахалинск
- Организация: -
- Контактная информация:
MySQL запрос в подсущность
База построена следующим образом:
Паспорт
- Учреждение
-- Здание
--- Замечания
В паспорте одна строка - год, например 2023. В них заносятся данные по учреждению, наименования и тд. У каждого учреждения есть здания, на каждое здание выдаются замечания.
Где можно посмотреть пример запроса или подсказать как его сделать (или может это можно реализовать по другому), чтобы в подсущности Учреждение считалось количество замечаний? Выборка должна проходить по Учреждению, т.е например у учреждения 3 здания, в одном 1 замечание, в другом 5, в другом 2 - итого 8.
Паспорт
- Учреждение
-- Здание
--- Замечания
В паспорте одна строка - год, например 2023. В них заносятся данные по учреждению, наименования и тд. У каждого учреждения есть здания, на каждое здание выдаются замечания.
Где можно посмотреть пример запроса или подсказать как его сделать (или может это можно реализовать по другому), чтобы в подсущности Учреждение считалось количество замечаний? Выборка должна проходить по Учреждению, т.е например у учреждения 3 здания, в одном 1 замечание, в другом 5, в другом 2 - итого 8.
- support
- Техническая поддержка
- Сообщения: 9016
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: MySQL запрос в подсущность
Попробуйте функции из Дополнения https://docs.rukovoditel.net.ru/index.php?p=48
Функции - то тот же самый mysql запрос, просто он строится автоматически с учетом родителей.
Функции - то тот же самый mysql запрос, просто он строится автоматически с учетом родителей.
-
- Сообщения: 23
- Зарегистрирован: 08 янв 2023, 09:22
- Имя: guitar-craft
- Откуда: Южно-Сахалинск
- Организация: -
- Контактная информация:
Re: MySQL запрос в подсущность
Спасибо за подсказку, разобрался, все отлично получилось
-
- Сообщения: 23
- Зарегистрирован: 08 янв 2023, 09:22
- Имя: guitar-craft
- Откуда: Южно-Сахалинск
- Организация: -
- Контактная информация:
Re: MySQL запрос в подсущность
Я дико извиняюсь, но можете еще подсказать как получить список записей из Замечаний в Учреждения?
Я пытаюсь сделать через вложенный запрос и то ошибка, то вообще ничего. Пример бы
Я пытаюсь сделать через вложенный запрос и то ошибка, то вообще ничего. Пример бы
-
- Сообщения: 23
- Зарегистрирован: 08 янв 2023, 09:22
- Имя: guitar-craft
- Откуда: Южно-Сахалинск
- Организация: -
- Контактная информация:
Re: MySQL запрос в подсущность
Сделал по списку записей MySQL запросу
e.parent_item_id in (select id from app_entity_38 where [432]='false')
Но записи во всех строках выводятся одинаковые. Что нужно сделать чтобы в каждой записи выводились только связанные с ней?
e.parent_item_id in (select id from app_entity_38 where [432]='false')
Но записи во всех строках выводятся одинаковые. Что нужно сделать чтобы в каждой записи выводились только связанные с ней?
-
- Сообщения: 23
- Зарегистрирован: 08 янв 2023, 09:22
- Имя: guitar-craft
- Откуда: Южно-Сахалинск
- Организация: -
- Контактная информация:
Re: MySQL запрос в подсущность
Умоляю все высшие силы - помогите ![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
-
- Сообщения: 2418
- Зарегистрирован: 14 окт 2020, 09:13
- Имя: Ruslan
- Откуда: Moscow
- Контактная информация:
Re: MySQL запрос в подсущность
попробуйте не через IN, а FIND_IN_SET
-
- Сообщения: 23
- Зарегистрирован: 08 янв 2023, 09:22
- Имя: guitar-craft
- Откуда: Южно-Сахалинск
- Организация: -
- Контактная информация:
Re: MySQL запрос в подсущность
FIND_IN_SET - e.parent_item_id find_in_set (select id from app_entity_38 where [432]='false')
Выдает ошибку
Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'find_in_set (select id from app_entity_38 where e.field_432='false')' at line 1
Query: select e.* from app_entity_43 e where e.parent_item_id find_in_set (select id from app_entity_38 where e.field_432='false')
Page: /ic/tp/index.php?module=items/listing
#0 includes/functions/database.php(87): mysqli_query(Object(mysqli), 'select e.* fro...')
#1 includes/classes/fieldstypes/fieldtype_items_by_query.php(93): db_query('select e.* fro...')
#2 includes/classes/fields_types.php(998): fieldtype_items_by_query->output(Array)
#3 modules/items/components/_listing_list.php(167): fields_types::output(Array)
#4 modules/items/actions/listing.php(188): require('/var/www/u18858...')
#5 index.php(20): require('/var/www/u18858...')
#6 {main}
FIND_IN_SET() же функция, используемая для нахождения позиции строки в списке строк.
Выдает ошибку
Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'find_in_set (select id from app_entity_38 where e.field_432='false')' at line 1
Query: select e.* from app_entity_43 e where e.parent_item_id find_in_set (select id from app_entity_38 where e.field_432='false')
Page: /ic/tp/index.php?module=items/listing
#0 includes/functions/database.php(87): mysqli_query(Object(mysqli), 'select e.* fro...')
#1 includes/classes/fieldstypes/fieldtype_items_by_query.php(93): db_query('select e.* fro...')
#2 includes/classes/fields_types.php(998): fieldtype_items_by_query->output(Array)
#3 modules/items/components/_listing_list.php(167): fields_types::output(Array)
#4 modules/items/actions/listing.php(188): require('/var/www/u18858...')
#5 index.php(20): require('/var/www/u18858...')
#6 {main}
FIND_IN_SET() же функция, используемая для нахождения позиции строки в списке строк.
-
- Сообщения: 23
- Зарегистрирован: 08 янв 2023, 09:22
- Имя: guitar-craft
- Откуда: Южно-Сахалинск
- Организация: -
- Контактная информация:
Re: MySQL запрос в подсущность
Давайте я заплачу за правильный SQL запрос раз такое дело