powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Помощь с заданием SQLite>составить запрос.
3 сообщений из 3, страница 1 из 1
Помощь с заданием SQLite>составить запрос.
    #39068907
ToporHero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2 задания.
Я не очень разбираюсь в бд, нет ВООБЩЕ не разбираюсь в бд, если кто может помогите пожалуйста их выполнить, а также объяснить и разложить всё по полочкам как и что.
И если можно дать какую-нибудь полезную информацию о том как с ней работать.

1.Достижения
Существует некоторая SQLite база данных с конфигурацией некоторой игры.
Данные по достижениям хранятся в следующей таблице:
CREATE TABLE achiev_goals (
id INT( 11 ) NOT NULL,
achiev_id INT( 11 ) NOT NULL
DEFAULT '0',
count INT( 11 ) NOT NULL
DEFAULT '0',
[order] INT( 11 ) NOT NULL
DEFAULT '0',
PRIMARY KEY ( id )
);
У каждого достижения есть несколько этапов. Например, достижение “Snatchincatcher” - игрок ловит snatchin’ов. Ловит 10 снетчинов (у первого этапа count = 10) - выполняет первый этап, ловит еще 10 (10+10=20, count = 20) - второй, и так далее. Номера этапов задаются в поле order - у первого этапа order = 1, у второго order = 2, и так далее. У соответствующих этапов разных достижений разные count’ы. Разные этапы одного достижения связаны друг с другом одним значением в поле achiev_id - они принадлежат одному достижению.

При тестировании очень грустно ловить тысячи snatchin’ов для получения всех этапов достижения - надо пересчитать count’ы, чтобы выполнять этапы было весело.

Требуется составить SQL-запрос, который бы позволил поменять count’ы у всех этапов всех достижений так, чтобы у первого этапа любого достижения count был 5, у второго - 10, и так далее с шагом 5.



2.Задания
Существует некоторая SQLite база данных с конфигурацией некоторой игры.
Данные по заданиям хранятся в следующей таблице:
CREATE TABLE quests (
id INT( 11 ) NOT NULL,
title VARCHAR( 64 ) NOT NULL
PRIMARY KEY ( id )
);
Здесь id - уникальный идентификатор задания; title - идентификатор названия задания.

Локализация текста игры хранится в следующей таблице:
CREATE TABLE lang_text (
id VARCHAR( 64 ) NOT NULL
DEFAULT ( '' ),
lang_id TINYINT( 4 ) NOT NULL
DEFAULT ( 0 ),
text TEXT NOT NULL,
PRIMARY KEY ( id, lang_id )
);
Здесь id - идентификатор текстовой строки (например названия задания); lang_id - уникальный идентификатор языка локализации (1 для русского, 2 для английского); text - собственно текст на конкретном языке.

Цель задания - это некоторое описание какого-то атомарного действия, которое нужно выполнить для выполнения задания. У одного задания может быть больше одной цели. Данные по целям заданий хранятся в следующей таблице:
CREATE TABLE quest_goals (
id INT( 11 ) NOT NULL,
quest_id INT( 11 ) NOT NULL
DEFAULT ( 0 ),
goal CHAR( 50 ) NOT NULL
DEFAULT ( '' ),
PRIMARY KEY ( id )
);
Здесь quest_id - уникальный идентификатор задания, к которому относится цель.

В рамках тестирования очередной версии игры требуется проверить все задания, у которых больше одной цели. Требуется составить SQL-запрос, который бы позволил получить список заданий, у которых больше одной цели. По каждому заданию нам нужен id этого задания и его название на английском языке.
...
Рейтинг: 0 / 0
Помощь с заданием SQLite>составить запрос.
    #39068925
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ToporHeroЕсть 2 задания.
Я не очень разбираюсь в бд, нет ВООБЩЕ не разбираюсь в бд, если кто может помогите пожалуйста их выполнить, а также объяснить и разложить всё по полочкам как и что.
Прочитать это: 13601944

Если первый совет слишком сложен, то приготовить деньги и написать сюда: http://www.sql.ru/forum/job
...
Рейтинг: 0 / 0
Помощь с заданием SQLite>составить запрос.
    #39072479
ToporHero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1.Достижения.
UPDATE achiev_goals
SET count = "5"
WHERE order = "1";

UPDATE achiev_goals
SET count = "10"
WHERE order = "2";

UPDATE achiev_goals
SET count = "15"
WHERE order = "3";

2.Задания
SELECT id, title, lang_id, quest_id, goal
FROM quests, lang_text, quest_goals
WHERE quests.id = lang_text.id
AND quest_goals.id=lang_text.id
AND lang_id = "2"
AND goal >= "2";

Господа, подскажите правильно ли я сделал?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Помощь с заданием SQLite>составить запрос.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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