![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с запросом [D7, IB6.x]
BanderLog © (2004-02-26 08:38:00)Привет Мастерам, научите неграмотных, делаю запрос
select Distinct Files.Alarm_File,
(select Last_Name from People where ID_People = Files.ID_Create) as UCreate from Files
where UCreate like '%фамиль%'
В итоге ругается что поле UCreate не известно.... подскажите как мне по этому полю отсортировать?
BanderLog (2004-02-26 11:51:00) [1]Все розобрался, пасибы за помощь, был и с моей стороны косяк. :)
Хоят '%%' - произвольное значение. :)
Но итоговый вопрос все же есть - значит алиас поля нельзя указывать в фильтре?
Johnmen (2004-02-26 11:51:00) [2]Загадки....
Попробуй CONTAINING
BanderLog (2004-02-26 11:47:00) [3]Вообщето это означет произвольные значения (проверено). :)
К тому же если хоть что то указываю например '%а%' тоже самое, хотя фамилии с "а" есть. :)
Johnmen (2004-02-26 11:31:00) [4]Читай здесь
http://www.ibase.ru/devinfo/ibrusfaq.htm
и рядом...
>like '%%'
Т.е. нет записей, в которых значение содержит ''
:)
BanderLog (2004-02-26 11:13:00) [5]В принципе заработало, но тока без условия where если добавляешь его, то возвращет пустой набор :( Даже если указать where P1.Last_Name like '%%'
Johnmen (2004-02-26 10:53:00) [6]Примерно так
select Distinct Files.Alarm_File, P1.Last_Name, P2.Last_Name
from Files
left join People P1 on P1.ID_People = Files.ID_Create
left join People P2 on P2.ID_People = Files.ID_Adjustment
where P1.Last_Name like '%фамиль%'
order by 2
BanderLog (2004-02-26 10:43:00) [7]Все бы ничего, тока вот таких вложеных селектов у меня 3 и отбирать надо в зависимости от условия по одному из них, но в выборке есть все 3. :(
Примерно так:
select Distinct Files.Alarm_File,
(select Last_Name from People where ID_People = Files.ID_Create) as UCreate,
(select Last_Name from People where ID_People = Files.ID_Adjustment) as UAdjustment from Files
where UCreate like '%фамиль%'
Johnmen (2004-02-26 09:08:00) [8]
select Distinct Files.Alarm_File, People.Last_Name
from Files
join People on People.I_People = Files.ID_Create
where People.Last_Name like '%фамиль%'
order by 2