![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать такой запрос...
3APA3A © (2004-01-16 23:47:00)
Суть такова
Есть две таблицы
create table "a.db"(name char(10), a_id autoinc);
create table "b.db"(b_id int,fields...);
и вот такая выборка
select * from "b.db" where b_id in (select a_id from "a.db");
выбор "select a_id from "a.db";" должен быть упорядочен по name-значениям... то есть типа "order by name", но если я приписываю это - SQL ругается - говорит, что name должно быть в результате выборки, а если я пишу "select name,a_id from "a.db" order by name" то тут уже внешний запрос не работает, так как два поля выбираются... как сделать???
P.S. Может я не слишком понятно объяснил.... =(((
Johnmen (2004-01-17 01:46:00) [1]
SELECT T1.user_name, T2.phone
FROM "users.db" T1, "phones.db" T2
WHERE (T1.user_id=T2.user_id) AND (T1.age>20)
ORDER BY T1.user_name
3APA3A (2004-01-17 01:20:00) [2]
Ok. Объясню на примере
Есть две базы. Юзеров и их телефонов.
create table "users.db"(user_name char(50),age int,user_id autoinc);
create table "phones.db" (phone char(10), user_id int);
Нужно выбрать телефоны тех, кто старше 20 лет, и они должны быть отсортированы по алфавиту по именам юзеров...
Пример несколько надуманный, но все-таки...
Johnmen (2004-01-17 00:39:00) [3]
Не слишком...
А вообще-то в приличном обществе принято приводить проблемный код (запрос) целиком. С точным цитированием текста ошибки...