powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SQL
14 сообщений из 14, страница 1 из 1
SQL
    #32579448
Skom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите плиз.
В Interbase совсем не силен.

Есть таблица:

Id1 Id2
a 1
a 2
a 5
a 7
........
b 2
b 3
b 6
b 7
........
c 4
c 8
c 5
c 1
......
и т.д...

Как построить запрос чтобы за один проход отбирались все записи Id2
с одинаковым Id1, при этом определять Id1 по Id2
Например:
Id2='2'
При этом должны отобраться все записи, где Id1 'a' и 'b' (и там и там в Id2 встречается '2')
Соответственно при Id2='5', записи, где Id1 'a' и 'с'

Немного путано, но лучше описать проблему не смог :(
...
Рейтинг: 0 / 0
SQL
    #32579463
dimm22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж. Есть над чем подумать. Без поллитра точно не разобраться, я уже за ней побежал.

ЗЫ А может тебе просто select id1, id2 from table where id2='чему то там'
...
Рейтинг: 0 / 0
SQL
    #32579465
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сессия?
...
Рейтинг: 0 / 0
SQL
    #32579485
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Сессия?

Ага. Это доп.вопрос на экзамене. И постит втихаря через GPRS...

...
Рейтинг: 0 / 0
SQL
    #32579490
Skom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Весь прикол в том, что результат поступает в довольно примитивный дизайнер отчетов и инструментов для работы там не очень-то и много.
Так что ни сессии ни простой селект тут не поможет.
...
Рейтинг: 0 / 0
SQL
    #32579495
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы увидеть хотя бы потуги в написании запроса...
...
Рейтинг: 0 / 0
SQL
    #32579509
Skom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я с вложенными запросами никогда не работал, посему структурно( по моим представлениям) это должно выглядеть так:

select Id2 from base1 where Id1=(select Id1 from base1 where Id2='2')

Это если нужно отобрать по Id2='2'
...
Рейтинг: 0 / 0
SQL
    #32579510
dimm22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Так что ни сессии ни простой селект тут не поможет.

Мдя....
...
Рейтинг: 0 / 0
SQL
    #32579517
dimm22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дай попробую угадать. Твой запрос наверное вот так выглядит.

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
select * from interbase;
end; :-)))
...
Рейтинг: 0 / 0
SQL
    #32579528
Skom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimm22Дай попробую угадать. Твой запрос наверное вот так выглядит.

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
select * from interbase;
end; :-)))


Не, там вообще скриптов нет.

[DialogForm.QSelect."S1"]
вот как он выглядит

где S1 собссно результат селекта.
...
Рейтинг: 0 / 0
SQL
    #32579601
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я попытался вникнуть в суть задачи. Не вник.
Попытайся "на пальцах" рассказать чего надо-то.
С нормальным примером, а то с id1 и id2 я что-то не въезжаю.
Понедельник как-никак сегодня...
...
Рейтинг: 0 / 0
SQL
    #32579623
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Я попытался вникнуть в суть задачи. Не вник.
Попытайся "на пальцах" рассказать чего надо-то.
С нормальным примером, а то с id1 и id2 я что-то не въезжаю.
Понедельник как-никак сегодня...


Да, понедельник день тяжелый. Я вот все никак работать начать не могу.
Сдается мне, что человек хочет:

Select * From Tbl Where Id1 in (Select Id1 From Tbl Where Id2 = ?)

А оптимизировать лень ибо я не уверен, что угадал, чего товарищу надобно:)

Удачи.
...
Рейтинг: 0 / 0
SQL
    #32579624
Skom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МимопроходящийЯ попытался вникнуть в суть задачи. Не вник.
Попытайся "на пальцах" рассказать чего надо-то.
С нормальным примером, а то с id1 и id2 я что-то не въезжаю.
Понедельник как-никак сегодня...


Есть таблица с кучей полей.
Интересует только два.
А именно Идентификатор товара и Идентификатор накладной,
в которой этот товар присутствует.

Так вот мне нужно отобрать все накладные, со всеми товарами по этим накладным при условии, что в накладной присутствует определенный товар.
...
Рейтинг: 0 / 0
SQL
    #32579632
Skom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лентяй автор
Я попытался вникнуть в суть задачи. Не вник.
Попытайся "на пальцах" рассказать чего надо-то.
С нормальным примером, а то с id1 и id2 я что-то не въезжаю.
Понедельник как-никак сегодня...


Да, понедельник день тяжелый. Я вот все никак работать начать не могу.
Сдается мне, что человек хочет:

Select * From Tbl Where Id1 in (Select Id1 From Tbl Where Id2 = ?)

А оптимизировать лень ибо я не уверен, что угадал, чего товарищу надобно:)

Удачи.


Супер!!!
Все работает.

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


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