powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с запросом
18 сообщений из 18, страница 1 из 1
Помогите с запросом
    #39417599
ramundo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица heroes

id | name | lore_name | lore | image

Таблица skills:

id | hero_id | name | image | lore | description | mana_cost | ...

таблица effects:

id | skill_id | name | value | aghs_value | talent_value |

таблица modifiers:

id | skill_id | name | dispellable |

у каждого героя (heroes) может быть до 8-ти навыков (skills).
у каждого навыка может быть сколько угодно эффектов (effects) и сколько угодно модификаторов (modifiers).

Можно ли написать один запрос, который бы доставал всю информацию о герое, всю информацию о его навыках + все модификаторы и эффекты навыков ?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39417610
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно. Но сложно. Это будет монстрик с LIST() и derived tables.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом
    #39417612
ramundo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А сильно будет различаться производительность между несколькими простыми и одним сложным? И в какую сторону? я просто читал, что обычно один сложный быстрее.

На Ваш взгляд, у моих таблиц структура нормальная, допустимая? Или можно было распределить информацию как-то более эффективнее и логичнее? Я уже не знаю, что делать и как ее улучшить
...
Рейтинг: 0 / 0
Помогите с запросом
    #39417614
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ramundoя просто читал, что обычно один сложный быстрее.
Это не так. Несколько простых запросов могут быть медленнее только в двух случаях: сеть с
высокой латентностью и тормозной парсер у сервера. Да и то, разницу можно заметить только
хорошо вооружённым глазом. А вот если оптимизатор не справился со сложным запросом, это конец.

Структуру трудно оценить без точного знания предметной области.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом
    #39417629
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ramundoМожно ли написать один запросзапрос на чём, на каком диалекте, под какой сервер?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39417632
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если вы про "сферических коней в вакууме", то для примера:
Код: sql
1.
2.
3.
4.
5.
6.
7.
select
    h.name, s.name, e.name, m.name
from
    heroes h
    left join skills s on s.hero_id = h.id
    left join effects e on e.skill_id = s.id
    left join modifiers m on m.skill_id = s.id
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418059
Nimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы книги и авторы.

Нужно написать sql-запрос который бы формировал отчет содержащий список книг, которые написаны 3мя и более со-авторами.

Т.е. должна получиться таблица следующего вида



Название книги | Количество со-авторов

"ААА" 3

"ИИИ" 4

"ППП" 8
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418075
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM GROUP BY, HAVING, COUNT()
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418079
Nimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, а как должен выглядеть запрос. Первая таблица Books с полями: id_book(PK), Название книги, Автор(FK) Вторая таблица Autors с полями: id_autor(PK), ФИО
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418096
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хапрос должен начинаться со слова SELECT.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418098
Nimf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, это понятно, как правильно обьединить таблицы и вывести новую таблицу где будет два поля название книги и новое поле Кол-во авторов?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418107
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С помощью JOIN.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418229
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovС помощью JOIN.


Откуда Вы столько всего знаете? ;)
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418433
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovС помощью JOIN.



Ну не нужен там join, из одной таблицы запрос, таблицы книг.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418444
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovМожно. Но сложно. Это будет монстрик с LIST() и derived tables.


Да почему же сразу list, и derived tables?
просто вывести надо несколько наборов данных.
Одним запросом нет смысла выводить, потому что параллельные дочерние таблицы будут Cartesian join друг с другом делать, декартово произведение порождая, потом сложно будет обрабатывать.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418445
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ramundoА сильно будет различаться производительность между несколькими простыми и одним сложным? И в какую сторону?

если и будет, то в худшую.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418640
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
знать бы структуру этих таблиц

по-хорошему там должно быть три таблицы
...
Рейтинг: 0 / 0
Помогите с запросом
    #39418981
аля1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nafзнать бы структуру этих таблиц

..........

по-хорошему там должно быть три таблицыну млин

хотелось бы
чтоб он
до 3-ей таблицы - сам догнал


(
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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