powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Прошу о помощи
8 сообщений из 8, страница 1 из 1
Прошу о помощи
    #39481119
Silverel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди добрые, как говорится - "горит" решение нескольких запросов
созданы 2 таблицы (TABLE_A (41 строка) и TABLE_B (6 строк)), столбцы в каждой "ID" и "VALUE"
нужно:
1. Написать запрос, позволяющий выбрать из таблицы TABLE_A все строки, значение поля VALUE которых, не встречается среди значений поля VALUE таблицы TABLE_B. При этом, данное значение должно повторяться в поле VALUE таблицы TABLE_A более одного, но не более трех раз.

2. Написать запрос, позволяющий заполнить поле VALUE таблицы TABLE_B все уникальными значениями из поля VALUE таблицы TABLE_A.

3. Написать запрос, позволяющий получить строки из таблицы TABLE_A, удовлетворяющие условию: квадратный корень из значения, содержащегося в поле VALUE должен превышать среднее значение для всей таблицы в данном поле.


пытаюсь решить как-то так, но не выходит (опыта мало совсем со сложными запросами):
1. SELECT "VALUE" FROM "TABLE_A" WHERE "VALUE" not IN (SELECT "VALUE" FROM "TABLE_B")
union
SELECT "VALUE", COUNT(*) AS "VALUE" FROM “TABLE_A” GROUP BY “ID” HAVING COUNT < 4

2. insert TOP (6) into table_b ("VALUE")
select distinct "VALUE" from table_a

3. select cast ("VALUE" as smallint ) FROM table_a;
select *
from table_a
group by table_a.id, table_a."VALUE"
having sqrt("VALUE") > avg("VALUE")
...
Рейтинг: 0 / 0
Прошу о помощи
    #39481120
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Silverelне встречается
NOT EXISTS

Silverelдолжно повторяться в поле VALUE таблицы TABLE_A более одного, но не более трех раз

GROUP BY, HAVING, COUNT

Silverelзаполнить поле VALUE таблицы TABLE_B все уникальными значениями из поля VALUE таблицы TABLE_A

INSERT...SELECT DISTINCT

Silverelудовлетворяющие условию

WHERE
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прошу о помощи
    #39481145
Silverel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в 3. WHERE не срабатывает, так как используется SELECT
сработал вариант
SELECT * FROM TABLE_A group by table_a.id, table_a."VALUE" HAVING SQRT(CAST("VALUE" as int))>AVG(CAST("VALUE" as int))
только почему-то полученне значения не отображаются
...
Рейтинг: 0 / 0
Прошу о помощи
    #39481146
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Silverelсработал вариант

Какой у тебя сервер, что на нём такой кривой запрос сработал? MySQL?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прошу о помощи
    #39481157
Silverel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
firebird 2.5
...
Рейтинг: 0 / 0
Прошу о помощи
    #39481158
Silverel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
установлен как сервис
...
Рейтинг: 0 / 0
Прошу о помощи
    #39481165
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКакой у тебя сервер, что на нём такой кривой запрос сработал?

у него в having перечислены все столбцы таблицы TABLE_A.

Silverel,
а вообще за * пороть надо. За неагрегатные функции в HAVING тоже
...
Рейтинг: 0 / 0
Прошу о помощи
    #39481166
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

у него в having group by перечислены все столбцы таблицы TABLE_A.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Прошу о помощи
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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