Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-1105366282
SiDoff
2005-01-10 17:11
2005.02.20
Как узнать что написано в строке адреса у проводника ...


14-1106923936
Digitman
2005-01-28 17:52
2005.02.20
Адептам "одноэсины" ..


4-1104343103
ancara
2004-12-29 20:58
2005.02.20
Свой файл вместо STDOUT?


8-1099495145
Змей
2004-11-03 18:19
2005.02.20
MediaPlayer


14-1105102343
zt50
2005-01-07 15: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
Английский Французский Немецкий Итальянский Португальский Русский Испанский