Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Перемножение таблиц  [new]
squirrel04
Member

Откуда:
Сообщений: 8
Доброго времени суток,
вроде и не блондинка, но что-то торможу дико...
Нужно получить данные из двух таблиц (parameters_f1 и parametersTP_f1). Таблицы между собой никак не связаны, так что я беру еще одну таблицу (passporttp) для связи первых двух.
select ptp.ID, ptp.IntLwrBnd, tpf1.MMIDN
from
	(select ptp.IdN, ptp.IdNSI, f1.ID, f1.IntLwrBnd, f1.IntUppBnd, f1.MMIdN as f1MMIdN
	from parameters_f1 f1
	left outer join passporttp ptp on f1.MMIdN=ptp.IdNSI
	where f1.MMIdN=362092) ptp,
parametersTP_f1 tpf1
where tpf1.MMIdN=ptp.IdN 
and tpf1.MMIdN=277437

Чисто теоретически я должна получить 6 записей. Получаю 36, т.е. таблицы parameters_f1 и parametersTP_f1 перемножаются.
Принимаются любые советы. Такое ощущение, что я что-то все время упускаю.
Связи между таблицами выглядят как:
passporttp.IDN=parametersTP_f1.MMIDN=277437
passporttp.IDNSI=parameters_f1.MMIDN=362092

Сообщение было отредактировано: 23 окт 12, 19:01
23 окт 12, 18:59    [13364918]     Ответить | Цитировать Сообщить модератору
 Re: Перемножение таблиц  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37155
Тестовые данные дайте со скриптами.
23 окт 12, 19:03    [13364924]     Ответить | Цитировать Сообщить модератору
 Re: Перемножение таблиц  [new]
squirrel04
Member

Откуда:
Сообщений: 8
Гавриленко Сергей Алексеевич,
Внутренний запрос возвращает:
IdN, IdNSI, ID, IntLwrBnd IntUppBnd, f1.MMIdN as f1MMIdN
277437 362092 555737 0.0 300.0 362092
277437 362092 555736 0.0 200.0 362092
277437 362092 555738 0.0 30.0 362092
277437 362092 561032 4.0 20.0 362092
277437 362092 561033 -50.0 200.0 362092
277437 362092 561034 4.0 20.0 362092

Таблица parameterstp_f1
ID IntLwrBnd
411698 4.0
426460 -50.0
426461 4.0
426462 0.0
426463 0.0
426464 0.0
23 окт 12, 19:12    [13364948]     Ответить | Цитировать Сообщить модератору
 Re: Перемножение таблиц  [new]
Добрый Э - Эх
Guest
squirrel04,

если таблицы не связаны, то просто перенумеруй результат выборки из каждой таблицы row_number-ом и соедини их по полученному полю-нумератору...
23 окт 12, 19:20    [13364974]     Ответить | Цитировать Сообщить модератору
 Re: Перемножение таблиц  [new]
squirrel04
Member

Откуда:
Сообщений: 8
Добрый Э - Эх,

Прошу прощения, голова не варит совсем
Во второй выборке есть еще поле MMIDN, которое я забыла (select ptp.ID, ptp.IntLwrBnd, tpf1.MMIDN)
Так что рузлтат будет выглядеть как
ID       IntLwrBnd MMIDN
411698	   4.0	 277437
426460	   -50.0 277437
426461	   4.0	 277437
426462	   0.0	 277437
426463	   0.0	 277437
426464	   0.0	 277437
24 окт 12, 18:26    [13370546]     Ответить | Цитировать Сообщить модератору
 Re: Перемножение таблиц  [new]
squirrel04
Member

Откуда:
Сообщений: 8
Добрый Э - Эх,
спасибо. После вашего совета наконец-то увидела, что в обоих таблицах у меня есть номера строк. А то было ощущение, что я что-то упускаю, но не могла понять, что именно.
25 окт 12, 14:47    [13374677]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить