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

Вниз

объединение 3-х таблиц в одну   Найти похожие ветки 

 
menart ©   (2006-08-31 20:34) [0]

Помогите решить такую задачу или подскажите как элегантнее сделать...
Есть 3 таблицы: 2 (turik и tfiz) из них с полями id(int), name(varchar[100]) + различные поля, набор свойств каждой таблицы юр лица и физ лица. Третья таблица имеет поля hid(int), id(int), type(int). type является указателем на таблицу turik или tfiz. Надо сделать объединение. hid, id, type, name, где name будет подставляться взависимости от значения type. Type=1 turik, type=2 tfiz. Заранее спасибо


 
Desdechado ©   (2006-08-31 21:14) [1]

объединение - это вширь (объединить набор полей) или в длину (объединить множество записей)?


 
Reindeer Moss Eater ©   (2006-08-31 21:56) [2]

Лень учить SQL - пользуйся визуальным конструктором запросов mssql


 
Anatoly Podgoretsky ©   (2006-08-31 22:11) [3]

Объединение - это вглубь UNION.
А попросу похоже, что требуется соединение - это в ширину, различные варианты JOIN, в крайнем случае FROM tbl1, tbl2, tbl3 WHERE условие.
Ограниченный вариант INNER JOIN


 
Fay ©   (2006-09-01 01:47) [4]

2 Reindeer Moss Eater ©   (31.08.06 21:56) [2]
> Лень учить SQL - пользуйся визуальным конструктором запросов mssql
А-а-а, мой моск! Визуальные построители запросов - такое г... !
Зачем вАщЕ давать советы тем, кому "лень учить" ?..

2 афтар
Структуру лучше приводить в DDL (в ключами-чами-чами-чами)
Исходные данные - "insert ..."
Желаемый результат - как угодно, но наглядно.
Заранее поздравляю.


 
SergP ©   (2006-09-01 05:24) [5]

> [0] menart ©   (31.08.06 20:34)
> Помогите решить такую задачу или подскажите как элегантнее
> сделать...
> Есть 3 таблицы: 2 (turik и tfiz) из них с полями id(int)
> , name(varchar[100]) + различные поля, набор свойств каждой
> таблицы юр лица и физ лица. Третья таблица имеет поля hid(int)
> , id(int), type(int). type является указателем на таблицу
> turik или tfiz. Надо сделать объединение. hid, id, type,
> name, где name будет подставляться взависимости от значения
> type. Type=1 turik, type=2 tfiz. Заранее спасибо


Хз... Наверное что-то типа этого:


(select a.hid,a.id,a.type,b.name
  from table3 a,turik b
  where a.id=b.id and a.type=1)
UNION
(select a.hid,a.id,a.type,b.name
  from table3 a,tfiz b
  where a.id=b.id and a.type=2)


> [2] Reindeer Moss Eater ©   (31.08.06 21:56)
> ... пользуйся визуальным конструктором запросов...


не понимаю я этих конструкторов. и зачем они вообще нужны? В Access"е когда-то пытался воткнуть в этот конструктор. Так и ничего не понял. И до сих пор не умею пользоваться конструкторами запросов. Да и сам текст  запроса гораздо нагляднее и лучше воспринимается моском чем разные конструкторы...


 
ANB ©   (2006-09-01 09:07) [6]


> UNION

заменить на union all желательно. И все пучком будет.


 
menart ©   (2006-09-01 14:35) [7]


> SergP ©   (01.09.06 05:24) [5]

От души благодарен.
Вопрос решен



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

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.104 c
15-1160483356
KitsumVI
2006-10-10 16:29
2006.10.29
Исходники к книге Delphi и технология COM


2-1160000563
alex_sz
2006-10-05 02:22
2006.10.29
Не удаляется из памяти поток MemoryStream


6-1149835557
novill
2006-06-09 10:45
2006.10.29
Распознать имя отправителя письма ?


1-1158678502
_dimka
2006-09-19 19:08
2006.10.29
А разве метод SaveToStream у TStringList абстрактный?


2-1160549479
evgenij_
2006-10-11 10:51
2006.10.29
Sectors Read