Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

связанные таблицы


Страницы:   1 2

Женя ©   (2010-03-12 03:19:00) 

Всем доброй ночи! Помогите пожалуйста новичку решить проблему. Проблема следующая: пытаюсь связать две таблицы с помощью query но неполучается. сам запрос следующий:
select *
from CKBI,telephone
where keylink=key1

Связь в таблицах вообще отсутствует, тоесть таблица с ключевым полем keylink выдает абсолютно все игнорируя условие. Может я что не так делаю? Пожалуйста помогите, заранее благодарен!


Amir   (2010-03-12 12:12:00) [21]

>Sergey13 ©   (12.03.10 12:05) [8]
>То, что запрос написан не красиво еще не говорит, что он написан неправильно.
>Имена полей не пересекаются, значит алиасы формально ни к чему.

Писателей, которых невозможно читать, следует расстреливать методом обезглавливания через утопление на медленном огне


Женя   (2010-03-12 12:12:00) [22]

СУБД следующая:

CKBI.mdb-connection->

CKBIquery(SQL=Select * from CKBI)->CKBIsource (DataSet= CKBIquery)

tlfquery('DataSource=CKBISource',SQL=select * from telephone,CKBI WHERE telephone.keylink like CKBI.key1)->tlfsource('DataSet=tlfquery')


> telephone - если ранее была фильтрация приравняй в false
все постоянно выделяется звездочкой, а в опциях самих полей я делаю их невидимыми


Sergey13   (2010-03-12 12:05:00) [23]

> [6] Amir   (12.03.10 11:35)
> В данном случае он какой-то занзибарский

То, что запрос написан не красиво еще не говорит, что он написан неправильно.
Имена полей не пересекаются, значит алиасы формально ни к чему.

> [3] Женя   (12.03.10 10:57)
> По идее tlfquery(в котором прописан сам запрос) должен фильтровать
> данные полей mob,dom,rab

Что значит "фильтровать данные полей mob,dom,rab"?
По запросу должен вернуться набор данных, содержаший все поля обеих таблиц, для записей у которых keylink одной таблицы соответствует key1 другой.
Что тебя не устраивает?


Плохиш   (2010-03-12 11:43:00) [24]


> Женя   (12.03.10 03:19)  


> where keylink=key1

Каждая запись будет состоять из полей записей обоих таблиц удовлетворяющих условию

> Женя   (12.03.10 10:57) [3]


> По идее tlfquery(в котором прописан сам запрос) должен фильтровать
> данные полей mob,dom,rab

Ваши идеи разработчиков баз данных как-то совершенно не волнуют. Странно, не правда ли?


Amir   (2010-03-12 11:35:00) [25]

>Sergey13 ©   (12.03.10 09:11) [2]
>Синтаксис запроса вроде нормальный.

Если запрос прожуется сервером, это еще не значит, что синтаксис нормальный
В данном случае он какой-то занзибарский, т.к. из него абсолютно ничего не ясно -
ни что извлекается из таблиц, ни что с чем сравнивается в условии
Автор очевидно не слышал про алиасы.


Ega23   (2010-03-12 11:07:00) [26]

Это к вопросу о применении звёздочи в селекте.


MonoLife   (2010-03-12 11:03:00) [27]

telephone - если ранее была фильтрация приравняй в false


Женя   (2010-03-12 10:57:00) [28]

типы полей следующие:
В таблице CKBI следующие поля: key1(счетчик,ключ.поле), name(строка),surn(строка),patr(строка),num_pos(строка),date(дата),pos(строка),vz v(число),pid(число)
В таблице telephone следующие поля:key_tlf(счетчик, ключ.поле),keylink(число),dom(строка),mob(строка),rab(строка)
keylink- числовое поле в таблице telephone
key1- счетчик, ключевое поле в таблице CKBI
По идее tlfquery(в котором прописан сам запрос) должен фильтровать данные полей mob,dom,rab
Почему не связываются, сам не пойму, компилятор никаких ошибок не выдает, он просто вроде как игнорирует запись (показывает все поля таблицы telephone не зависимо от выбраной строки CKBI)

where keylink=key1

причем пробовал уже и полностью прописывать имя типа:

where telephone.keylink=CKBI.key1

База данных - Access(с паролем)


Sergey13   (2010-03-12 09:11:00) [29]

> [0] Женя   (12.03.10 03:19)
> Может я что не так делаю?

Кто ж тебе это скажет? Ты же не дал никакой исходной информации. Ни СУБД, ни структуры таблиц. Синтаксис запроса вроде нормальный.


Ega23   (2010-03-12 07:06:00) [30]

http://citforum.ru/database/sqlbook/sqlbook_06.shtml#332


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо