Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Вниз

Помогите составить запрос   Найти похожие ветки 

 
Dell3r ©   (2005-07-01 13:19) [0]

На форме компоненты:
Query  - DataSource  - DBGrid;
Table1 - DataSource1 - DBGrid1;
Table2 - DataSource2;

Свойства Query:
SQL - "Select * from Name"

Свойства Table1:
MasterSource - DataSource
IndexName    - NameNo
MasterFields - NameNo
TableName    - Phone.dbf

Свойства Table2:
TableName    - Phone.dbf

Номера телефонов записываются в таком виде:
0955552265
8482225891

Нужно в Table2 найти все записи в которых первые несколько цифр совпадают с введенными пользователем.(Значания могут быть и 10-значными цифрами, например все записи в которых код города равен 095, Потом в каждой похожей записи вернуть значание NameNo.
В результате в Query ввести запрос типа:
Query.Sql.Add("Select * from NAME Where NAMENO="+"А вот здесь все NameNo из Table2").

Заранее благодарен.


 
Sergey13 ©   (2005-07-01 13:25) [1]

А почему не выкинуть все твои навороты и не написать
"Select * from NAME Where NAMENO Like "%095"


 
Dell3r ©   (2005-07-01 13:30) [2]

во второй таблице два столбца NameNo и Telefon
В первой NameNo и Name
Так вот надо найти все "095" во второй и если такие есть, то их NameNo Перечислить в Query


 
evvcom ©   (2005-07-01 13:30) [3]


> например все записи в которых код города равен 095

Если у тебя нет поля "код города", то твоя задача невыполнима, потому что длина кода города в общем случае - величина переменная. Другое дело, если ты сформулируешь условие так: "все записи, начинающиеся (или содержащие) строку "095"". Тогда см. [1].


 
Danilka ©   (2005-07-01 13:38) [4]

Dell3r ©   (01.07.05 13:30)
во второй таблице два столбца NameNo и Telefon
В первой NameNo и Name
Так вот надо найти все "095" во второй и если такие есть, то их NameNo Перечислить в Query


select t2.NameNo, t2.Name from table1 t1, table2 t2 where t1.NameNo = t2.NameNo and t2.Telefon like "8482%"

:)


 
evvcom ©   (2005-07-01 13:38) [5]

select n.* from Name n inner join Table2 t2 on t2.NameNo = n.NameNo where t2.NameNo Like :NameNo
Потом в Delphi: Query.ParamByname("NameNo").AsString := "%" + Edit1.Text + "%"; // Если "содержит"
и
.AsString := Edit1.Text + "%"; // Если "начинается с"


 
Dell3r ©   (2005-07-01 13:51) [6]

Danilka ©  (01.07.05 13:38) [4]
Немного не понял
select t2.NameNo - что такое t2


 
evvcom ©   (2005-07-01 13:54) [7]


> что такое t2

Это псевдоним Table2. См. внимательнее текст запроса.


 
Dell3r ©   (2005-07-01 13:59) [8]

Он у меня ругается на знак "="


 
Dell3r ©   (2005-07-01 14:14) [9]

Что-то не так.
select t2.NameNo, t2.Name
В таблице2 нету поля Name

Если в таблице Phone есть значения начинающиеся на 095, то из таблицы Name выбрать все записи в которых ТаблицаName.NameNo = ТаблицеPhone.NameNo


 
Sergey13 ©   (2005-07-01 14:19) [10]

2 [9] Dell3r ©   (01.07.05 14:14)
Тогда надо программиста звать.


 
Dell3r ©   (2005-07-01 14:25) [11]

Не смешно. Я с базами не так уж и давно работаю. к тому же учусь сам. Поэтому и прошу помощи



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
1-1121323132
Erik1
2005-07-14 10:38
2005.08.07
Правильное ожидание для завершения потока?


3-1119855838
salexn
2005-06-27 11:03
2005.08.07
Как сделать "дебаг" хранимой процедуры?


3-1120043176
Тучудище
2005-06-29 15:06
2005.08.07
Когда лучше подтверждать транзакции


14-1121298969
Михаил(Киров)
2005-07-14 03:56
2005.08.07
Администрирование компьютерных клубов


14-1121515639
default
2005-07-16 16:07
2005.08.07
Работа Л.Заде "Нечеткие множества"





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