Форум: "Базы";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
ВнизНеобходим SQL-запрос для выборки из нескольких DBF-таблиц Найти похожие ветки
← →
АМБ (2005-01-24 15:39) [0]Необходим SQL-запрос для выборки из нескольких DBF-таблиц.
Пишу:
select FieldName1, FieldName2, FieldName3
from dbfTable1, dbfTable2, dbfTable3, dbfTable4
программа написана на D7, использует TQuery, который с другими текстами запросов работает нормально. На этом запросе начинает работать и минут через 10 вылетает. Количество записей в таблицах от 32000 до 44000. Подскажите, что не так? И как можно выбрать некоторые поля из таблиц и объединить эти записи в один набор данных?
← →
Ольга (2005-01-24 15:44) [1]Нужно таблицы dbfTable1, dbfTable2, dbfTable3, dbfTable4 связать в предложении WHERE, типа:
select a.FieldName1, b.FieldName2, c.FieldName3
from dbfTable1 a, dbfTable2 b, dbfTable3 c, dbfTable4 d
where a.FieldName=b.FieldName и т.д.
← →
msguns © (2005-01-24 15:46) [2]Декартово ?
← →
АМБ (2005-01-24 15:56) [3]Уточняю вопрос. Необходимо объединить записи 4-таблиц и из них выбрать не все поля, а только некоторые.
← →
Sergey13 © (2005-01-24 15:58) [4]2[3] АМБ (24.01.05 15:56)
>Уточняю вопрос. Необходимо объединить записи 4-таблиц
Уточни еще. Что ты понимаешь под "объединением"?
← →
АМБ (2005-01-24 16:04) [5]К 32000 записей 1-таблице необходимо добавить 35000 второй таблицы, затем добавить записи из 3-й и 4-й таблицы. И из этого объединенного набора данных выбрать 3 поля, а не все 30 полей, которые одинаковые у всех 4-х таблицах
← →
msguns © (2005-01-24 16:04) [6]Судя по прогнозу погоды на послезавтра и углу наклона траектории пролетевшей мимо окна вороны относительно меридиана, на вопрос уже ответила Ольга.
← →
Sergey13 © (2005-01-24 16:09) [7]2[6] msguns © (24.01.05 16:04)
Неа. Ему вроде union нужен.
2АМБ (24.01.05 15:39)
select FieldName1, FieldName2, FieldName3
from dbfTable1
union all
select FieldName1, FieldName2, FieldName3
from dbfTable2
union all
select FieldName1, FieldName2, FieldName3
from dbfTable3
union all
select FieldName1, FieldName2, FieldName3
from dbfTable4
← →
msguns © (2005-01-24 16:19) [8]>Sergey13 © (24.01.05 16:09) [7]
Поспорим ?
На http://delphimaster.net/view/3-1106570122/
← →
Sergey13 © (2005-01-24 16:22) [9]2[8] msguns © (24.01.05 16:19)
>Поспорим ?
Я за. Об чем?
← →
АМБ (2005-01-24 16:23) [10]Большое спасибо Sergey13, что с моим неясным вопросом он сумел таки догадаться, что мне нужно. Объединение получилось. Теперь еще хотелось бы, чтобы полученный набор данных был отсортирован по одному из полученных полей. Попробовал использовать в конце текста запроса group by, но упорядочились только записи последней группы select. А как сделать, чтобы упорядочились все записи, т.е. из всех четырех select-ов.
← →
Sergey13 © (2005-01-24 16:26) [11]select FieldName1, FieldName2, FieldName3
from dbfTable1
union all
select FieldName1, FieldName2, FieldName3
from dbfTable2
union all
select FieldName1, FieldName2, FieldName3
from dbfTable3
union all
select FieldName1, FieldName2, FieldName3
from dbfTable4
ORDER BY FieldNameX
Вместо Х - номер нужного поля.
← →
Ольга (2005-01-24 16:27) [12]ORDER BY <имя поля из первого select-a>
← →
msguns © (2005-01-24 16:30) [13]Блин, хорошо, что не поспорил. Надо будет ту ворону булыжником..
← →
АМБ (2005-01-24 16:38) [14]Всем спасибо! Особенно Ольге.
И еще, если можно, посоветуйте, где можно скачать хороший учебник по SQL. Желательно, бесплатно
← →
msguns © (2005-01-24 16:45) [15]Local SQL их хелпа дельфей. Для dbf хватит с лихвой
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.041 c