powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / [ANSI SQL] : как сделать такую штукенцию ?
9 сообщений из 34, страница 2 из 2
[ANSI SQL] : как сделать такую штукенцию ?
    #34914387
EugeneUragan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wild, это гадко и грубо, что ты пишешь!

По делу - говорим о запросах, а не о процедурах.
Считаем, что нет процедур у нас. Только предложение SELECT.
...
Рейтинг: 0 / 0
[ANSI SQL] : как сделать такую штукенцию ?
    #34914418
EugeneUragan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уходим на праздники. Всем отлично отдохнуть, и до встречи!
...
Рейтинг: 0 / 0
[ANSI SQL] : как сделать такую штукенцию ?
    #34914455
EugeneUragan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но wild, ты правильно написал с id.
Рубишь фишку. По условию надо именно так.
...
Рейтинг: 0 / 0
[ANSI SQL] : как сделать такую штукенцию ?
    #34915762
Фотография alexmsp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneUraganВопрос:
как извлечь все оставшиеся поля из таблицы, в данном случае group_id?

Главный вопрос:
можно ли это сделать без подзапросов?
Давно пользуюсь. Мускулисты подсказали.
Код: plaintext
1.
2.
3.
SELECT table_1.*
FROM table_1 LEFT JOIN table_1 AS s2
ON table_1.id2=s2.id2 AND table_1.id<s2.id
WHERE s2.id2 IS NULL
...
Рейтинг: 0 / 0
[ANSI SQL] : как сделать такую штукенцию ?
    #34929405
EugeneUragan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexmsp, Вы дали свежую струю. Это уже что-то!
Сейчас приведу статистику выполнения.
...
Рейтинг: 0 / 0
[ANSI SQL] : как сделать такую штукенцию ?
    #34929421
EugeneUragan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
СREATE TABLE TMP_CARD (
    ID    INTEGER NOT NULL,
    NAME  VARCHAR( 30 )
);
ALTER TABLE TMP_CARD ADD CONSTRAINT PK_TMP_CARD PRIMARY KEY (ID);


CREATE TABLE TMP_TRANS (
    ID       INTEGER NOT NULL,
    CARD_ID  INTEGER,
    DETAIL   VARCHAR( 30 ),
    DATE_    DATE
);
ALTER TABLE TMP_TRANS ADD CONSTRAINT PK_TMP_TRANS PRIMARY KEY (ID);
CREATE INDEX TMP_TRANS_IDX1 ON TMP_TRANS (CARD_ID);

связаны-не связаны неважно. Индекс по-любому нужен, без него можно сходить поспать.

Код: plaintext
1.
select count(*) from tmp_card; ->  1000 
select count(*) from tmp_trans; ->  100000 

каждой записи из tmp_card соответствует 100 записей из tmp_trans

---------------------------------------
Код: plaintext
1.
2.
3.
SELECT t.*
FROM tmp_trans t LEFT JOIN tmp_trans s2
ON t.card_id=s2.card_id AND t.id < s2.id
WHERE s2.card_id IS NULL

------ Performance info ------
Prepare time = 16ms
Execute time = 1m 41s 344ms

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Код: plaintext
1.
2.
select t.*
 from tmp_card c join tmp_trans t on c.id = t.card_id
 where t.id = ( select max(t2.id) from tmp_trans t2 where t2.card_id = c.id )

------ Performance info ------
Prepare time = 31ms
Execute time = 2s 16ms
...
Рейтинг: 0 / 0
[ANSI SQL] : как сделать такую штукенцию ?
    #34929957
Фотография alexmsp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж, красиво конечно без подзапросов но фраза
Код: plaintext
1.
AND t.id < s2.id
сильно жрет ресурсы.
Старая истина: если где-то прибыло - значит откуда-то убыло :)
...
Рейтинг: 0 / 0
[ANSI SQL] : как сделать такую штукенцию ?
    #34931801
Uragan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное, от сервера СУБД еще многое зависит.
...
Рейтинг: 0 / 0
[ANSI SQL] : как сделать такую штукенцию ?
    #34932270
Uragan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Девушки и мужчины.
Я понял, где были тормоза.
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / [ANSI SQL] : как сделать такую штукенцию ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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