Главная страница
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.058 c
3-1157366093
tytus
2006-09-04 14:34
2006.10.29
помогите с подключением


2-1160502347
EG
2006-10-10 21:45
2006.10.29
Вопрос по ООП


2-1160988912
Jimmy
2006-10-16 12:55
2006.10.29
Работа с Sys Tray.


1-1158062383
REA
2006-09-12 15:59
2006.10.29
XML разделитель


1-1158261697
oxffff
2006-09-14 23:21
2006.10.29
ВDS 2006 тоже не поддерживает custom variant byRef