Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
Glory
Member

Откуда:
Сообщений: 104751
sigor_i
совсем запутался

Если вам нужно для каждой записи одной таблицы получить каждую запись другой таблицы, то это называется умножением таблиц. И этому соответствует команда CROSS JOIN

ЗЫ
Как можно решать сложные задачи, не владея базовыми знаниями работы со множествами ?
11 окт 12, 15:20    [13303129]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
iap
sigor_i,

есть две табличные переменные. Что с ними делать-то надо? Кроссджойнить или что?
Без ответа на этот вопрос всё бессмысленно


я понял есть табличные переменные их надо перевести в тип географии....так как наш тип в таблице sql не понимает...вот просто как средствами реализовать пока не дошло.....для дальнейшей работы мне надо тип geography... но пока вот ищу решение....т.е. как правильно перевести тип
11 окт 12, 15:21    [13303149]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
Glory
Member

Откуда:
Сообщений: 104751
sigor_i
я понял есть табличные переменные их надо перевести в тип географии....так как наш тип в таблице sql не понимает...вот просто как средствами реализовать пока не дошло.....для дальнейшей работы мне надо тип geography... но пока вот ищу решение....т.е. как правильно перевести тип

Поток сознания крепчал.
Вы не таблицы "переводите в тип географи"
Вы на основе значений полей создаете новое поле с типом географи.
А с таблицами надо работать как с таблицами. Независимо от того сколько у них полей и какого они типа.
11 окт 12, 15:24    [13303183]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
есть 2 точки с координатами.....знаем координаты обоих точек......какая самая ближняя -знаем и расстояние мужду ними знаем.....
11 окт 12, 15:26    [13303196]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
Glory
sigor_i
я понял есть табличные переменные их надо перевести в тип географии....так как наш тип в таблице sql не понимает...вот просто как средствами реализовать пока не дошло.....для дальнейшей работы мне надо тип geography... но пока вот ищу решение....т.е. как правильно перевести тип

Поток сознания крепчал.
Вы не таблицы "переводите в тип географи"
Вы на основе значений полей создаете новое поле с типом географи.
А с таблицами надо работать как с таблицами. Независимо от того сколько у них полей и какого они типа.


что то ясно.........
11 окт 12, 15:26    [13303203]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
iap
Member

Откуда: Москва
Сообщений: 47063
sigor_i
iap
sigor_i,

есть две табличные переменные. Что с ними делать-то надо? Кроссджойнить или что?
Без ответа на этот вопрос всё бессмысленно


я понял есть табличные переменные их надо перевести в тип географии....так как наш тип в таблице sql не понимает...вот просто как средствами реализовать пока не дошло.....для дальнейшей работы мне надо тип geography... но пока вот ищу решение....т.е. как правильно перевести тип
Ну, получите миллион пар координат из первой таблицы и десять миллионов - из второй.
А дальше-то что?!

P.S. Glory Вам написал, как получить точку из пары полей таблицы. СлабО так же сделать?
11 окт 12, 15:26    [13303204]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
Glory
Member

Откуда:
Сообщений: 104751
sigor_i
есть 2 точки с координатами..

У вас 2 таблицы.
В каждой из которых _множество точек_.
Поймите это уже.
11 окт 12, 15:27    [13303206]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
use TerminalData
declare @t  as table  (id  int, SpatialLocation geography)
INSERT INTO @t
			
    SELECT nID,
     ('POINT('+CONVERT(varchar, dbLon) +' '+ CONVERT(varchar, dbLat) +')' )
      FROM AW_TrackLast

DECLARE @g as table  (id  int,SpatialLocation2 geography)
INSERT INTO @g
    SELECT nID, 
    ('POINT('+CONVERT(varchar, dbLon) +' '+ CONVERT(varchar, dbLat) +')' ) 
    FROM AW_TrackLast


вот как то так?
11 окт 12, 15:29    [13303232]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
Glory
Member

Откуда:
Сообщений: 104751
sigor_i
вот как то так?

Вы раньше писали запросы, в которых участвовало несколько таблиц ?
11 окт 12, 15:31    [13303244]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
Glory
sigor_i
вот как то так?

Вы раньше писали запросы, в которых участвовало несколько таблиц ?


да старался.......но не такой сложности

а что не правильно пишу?не мастер как говориться..не судите строго
11 окт 12, 15:32    [13303265]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
Glory
Member

Откуда:
Сообщений: 104751
sigor_i
да старался.......но не такой сложности

Вот напишите запрос из ваших двух таблиц, который для каждой записи 1ой таблицы выберет запись(или записи) из 2ой таблицы, которые вы собираетесь сравнить.
11 окт 12, 15:40    [13303329]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
declare @x table(dbLon float,  dbLat float)
insert @x values(106.620165, 10.746475)
insert @x values(153.095160, -27.377213)
insert @x values(0.000000, 0.000000)
insert @x values(22.952630, 40.599135)
insert @x values(114.079980, 22.547512)
insert @x values(114.080272, 22.547073)
insert @x values(114.037833, 22.543650)
insert @x values(-115.405117, 32.622633)
insert @x values(114.079867, 22.548733)
insert @x values(106.536433, 21.013733)
insert @x values(100.572567, 13.728350)
insert @x values(400.039067, 3.539083 )

DECLARE @g geography = 'POINT(-121.626 47.8315)';

select *, x.ToString(), x.STDistance(@g)/1000 as Rasstoanie   from (
select *
,geography::STPointFromText('POINT('+STR(dbLon,20,10)+' '+ STR(dblat,20,10)+')' , 4326) as x

 from @x
 ) as a
 ORDER BY x.STDistance(@g)


все никак не получается
11 окт 12, 20:15    [13304849]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
Glory
Member

Откуда:
Сообщений: 104751
sigor_i
все никак не получается

Если ничего не менять, то ничего и не получится
11 окт 12, 22:21    [13305264]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
Glory
sigor_i
все никак не получается

Если ничего не менять, то ничего и не получится


а left join пробую что то не получается
12 окт 12, 07:42    [13306012]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
declare @x table(dbLon float,  dbLat float)
insert @x values(106.620165, 10.746475)
insert @x values(153.095160, -27.377213)
insert @x values(0.000000, 0.000000)
insert @x values(22.952630, 40.599135)
insert @x values(114.079980, 22.547512)
insert @x values(114.080272, 22.547073)
insert @x values(114.037833, 22.543650)
insert @x values(-115.405117, 32.622633)
insert @x values(114.079867, 22.548733)
insert @x values(106.536433, 21.013733)
insert @x values(100.572567, 13.728350)
insert @x values(400.039067, 3.539083 )

declare @g table(dbLon float,  dbLat float)
insert @g values(104.620165, 10.746475)
insert @g  values(156.095160, -27.377213)
insert @g  values(0.200000, 0.000000)
insert @g  values(22.952630, 40.599135)
insert @g  values(112.079980, 22.547512)
insert @g  values(113.080272, 22.547073)
insert @g  values(114.037833, 22.543650)
insert @g  values(-116.405117, 32.622633)
insert @g  values(117.079867, 22.548733)
insert @g  values(108.536433, 21.013733)
insert @g  values(109.572567, 13.728350)
insert @g  values(406.039067, 3.539083 )


 SELECT 
    ('POINT('+CONVERT(varchar, dbLon) +' '+ CONVERT(varchar, dbLat) +')' ) 
    FROM AW_TrackLast



select *, x.ToString(), x.STDistance(@g)/1000 as Rasstoanie   from (
select *
,geography::STPointFromText('POINT('+STR(dbLon,20,10)+' '+ STR(dbLat,20,10)+')' , 4326) as x

 from @x
 ) as a


что я делаю не правильно?что то запутался...
12 окт 12, 08:29    [13306070]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
Glory
Member

Откуда:
Сообщений: 104751
sigor_i
что я делаю не правильно?что то запутался...

Ваша манера постить один и тот же код с одним и тем же вопросом очень напоминает недавнего автора с заправками машины

Оставьте в покое geography. Сосредоточтесь на написании запроса, который просто вернет нужные вам записи в том виде, в каком они есть сейчас в таблице.
12 окт 12, 09:32    [13306243]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
iap
Member

Откуда: Москва
Сообщений: 47063
Glory
Ваша манера постить один и тот же код с одним и тем же вопросом очень напоминает недавнего автора с заправками машины
Так это он и есть!
12 окт 12, 09:42    [13306285]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
iap
Glory
Ваша манера постить один и тот же код с одним и тем же вопросом очень напоминает недавнего автора с заправками машины
Так это он и есть!


не понял...........
12 окт 12, 14:58    [13308867]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
iap
Member

Откуда: Москва
Сообщений: 47063
sigor_i
iap
пропущено...
Так это он и есть!


не понял...........
Раз на этом сайте ники меняете, то и на других надо.
12 окт 12, 15:01    [13308891]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
iap
Member

Откуда: Москва
Сообщений: 47063
iap
sigor_i
пропущено...


не понял...........
Раз на этом сайте ники меняете, то и на других надо.
Не, я не осуждаю, если что.
Просто удивляюсь Вашему удивлению.
12 окт 12, 15:03    [13308921]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
и все же актуально...давайте ближе к теме......
12 окт 12, 15:04    [13308926]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
sigor_i
declare @x table(dbLon float,  dbLat float)
insert @x values(106.620165, 10.746475)
insert @x values(153.095160, -27.377213)
insert @x values(0.000000, 0.000000)
insert @x values(22.952630, 40.599135)
insert @x values(114.079980, 22.547512)
insert @x values(114.080272, 22.547073)
insert @x values(114.037833, 22.543650)
insert @x values(-115.405117, 32.622633)
insert @x values(114.079867, 22.548733)
insert @x values(106.536433, 21.013733)
insert @x values(100.572567, 13.728350)
insert @x values(400.039067, 3.539083 )

declare @g table(dbLon float,  dbLat float)
insert @g values(104.620165, 10.746475)
insert @g  values(156.095160, -27.377213)
insert @g  values(0.200000, 0.000000)
insert @g  values(22.952630, 40.599135)
insert @g  values(112.079980, 22.547512)
insert @g  values(113.080272, 22.547073)
insert @g  values(114.037833, 22.543650)
insert @g  values(-116.405117, 32.622633)
insert @g  values(117.079867, 22.548733)
insert @g  values(108.536433, 21.013733)
insert @g  values(109.572567, 13.728350)
insert @g  values(406.039067, 3.539083 )


 SELECT 
    ('POINT('+CONVERT(varchar, dbLon) +' '+ CONVERT(varchar, dbLat) +')' ) 
    FROM AW_TrackLast



select *, x.ToString(), x.STDistance(@g)/1000 as Rasstoanie   from (
select *
,geography::STPointFromText('POINT('+STR(dbLon,20,10)+' '+ STR(dbLat,20,10)+')' , 4326) as x

 from @x
 ) as a


что я делаю не правильно?что то запутался...



хочу доделать а знаний не хватает...
12 окт 12, 15:05    [13308935]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
Glory
Member

Откуда:
Сообщений: 104751
sigor_i
хочу доделать а знаний не хватает...

Напишите этот запрос в 100 разных форумов по 100 раз. И будет вам счастье.
12 окт 12, 15:09    [13308957]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
sigor_i
Member

Откуда:
Сообщений: 40
Glory
sigor_i
хочу доделать а знаний не хватает...

Напишите этот запрос в 100 разных форумов по 100 раз. И будет вам счастье.


помогите я отстану!!!!!!!!ПО-МО-
ГИ ТЕ
12 окт 12, 15:17    [13309022]     Ответить | Цитировать Сообщить модератору
 Re: долгота широта в SQL! Вычисления расстояния!  [new]
Glory
Member

Откуда:
Сообщений: 104751
declare @t1 table(f1 varchar(10))
declare @t2 table(f2 varchar(10))

insert @t1 values('Point1')
insert @t1 values('Point2')
insert @t1 values('Point3')
insert @t1 values('Point4')
insert @t1 values('Point5')

insert @t2 values('Point11')
insert @t2 values('Point12')
insert @t2 values('Point13')
insert @t2 values('Point14')
insert @t2 values('Point15')

Напишите запрос, который выведет, какие точки с какими надо сравнить
12 окт 12, 15:22    [13309067]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить