Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Необходим 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
14-1106650775
syte_ser78
2005-01-25 13:59
2005.02.20
Epson stylus Color 300


8-1099906198
Konan
2004-11-08 12:29
2005.02.20
Создание программы для редактирования иконок


14-1106944971
Narik
2005-01-28 23:42
2005.02.20
HELP!!!!!!!!!


4-1104885038
suxx
2005-01-05 03:30
2005.02.20
запретить нажатие комбинации клавиш


1-1107777160
ТехникПТО
2005-02-07 14:52
2005.02.20
Редактирование





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский