Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.044 c
2-1160890421
ctudent
2006-10-15 09:33
2006.10.29
Работа с компонентами в Run-Time


15-1160292481
AntiUser
2006-10-08 11:28
2006.10.29
В тригере Before Update узнать имя измененного field а


2-1160645861
Megabyte
2006-10-12 13:37
2006.10.29
Код VBA в Дельфи для Excel


3-1157526169
worldmen
2006-09-06 11:02
2006.10.29
Select -обыкновенный (с like и upper)


2-1160993503
Megabyte
2006-10-16 14:11
2006.10.29
Показ XML-файла в читабельном виде




   Наверх