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

Откуда:
Сообщений: 367
Здравствуйте! скажите пожалуйста, как мне оптимизировать сл. скрипт:
короче нужен код улицы который исходит из условия (s_streets.streetname=S.streetname
and lastuser not like 'sa' and citycode=1061 ) и вытащить (если это получится - апдейтит ТТ)

Н: По логической ошибке в базу улиц внесли некоторые улицы.т.е.Например,ул. Манная имел код 16 а при выборе заявлений по модулю занесся код 25 у. Манная 25. А по 25 коду нет связанных записей. А логически есть данные по ул. Манная по коду 16. Таких улиц 45 дублирующих(не совсем дубдилуются там некоторые поля отличительные). Поэтому не хотелось по одному заменять их. Сможет кто нибудь поможет.

select s.code,(select code, streetname from S_streets
where s_streets.streetname=S.streetname
and lastuser not like 'sa' and citycode=1061
),TT.id
from TT inner join S_Streets S
on
TT.streetcode=S.code
where S.streetname in (select S.streetname from S_Streets S where
lastuser like 'sa' and citycode=1061) order by 1
24 сен 09, 11:04    [7701685]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Mari-Salt
Member

Откуда:
Сообщений: 367
Вот такую ошибку выводит

Server: Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
24 сен 09, 11:14    [7701777]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Mari-Salt
Вот такую ошибку выводит

Server: Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Чтобы оптимизировать запрос он (запрос) для начала должен работать.
24 сен 09, 11:16    [7701796]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Mari-Salt
Member

Откуда:
Сообщений: 367
[quot Mari-Salt]

select s.code,(select code, streetname from S_streets
where s_streets.streetname=S.streetname
and lastuser not like 'sa' and citycode=1061
),TT.id
from TT inner join S_Streets S

вот здесь select code, streetname from S_streets
where s_streets.streetname=S.streetname
and lastuser not like 'sa' and citycode=1061 никак не могу вывести одну запись
24 сен 09, 11:30    [7701913]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Mari-Salt,

если Ваш подзапрос выводит более одной строки (о чем и сообщает сервер), уточняйте условия выборки данных в этом подзапросе . В конце концов TOP 1 ... ORDER BY напишите что ли...
24 сен 09, 11:59    [7702137]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Mari-Salt,

А не можете потому, что подзапрос возвращает больше одной записи. Об этом сервер Вам честно сообщил в тексте ошибки. Что возвращает запрос
select code, streetname from S_streets
where s_streets.streetname=S.streetname
and lastuser not like 'sa' and citycode=1061
?

ЗЫ. За три года, прошедшие после регистрации, Вы так и не научились нормально оформлять и формулировать вопросы?
24 сен 09, 11:59    [7702139]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Senya_L
Mari-Salt
Вот такую ошибку выводит

Server: Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Чтобы оптимизировать запрос он (запрос) для начала должен работать.
Автор, вероятно, не видит разницы между оптимизацией и отладкой
24 сен 09, 12:00    [7702150]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
PaulYoung
Автор, вероятно, не видит разницы между оптимизацией и отладкой
Да и отладкой тоже чесговоря не пахнет. :) Я привык "отладкой" называть отлов логических багов в запросе, когда он работает, но выдает неправильный результат. Хотя... кто как привык.
24 сен 09, 12:04    [7702182]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Похоже, продолжение мучений. Автор решил с другой стороны подойти
24 сен 09, 12:07    [7702221]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
1
Guest
использовать apply и найти записи, которые вызывают ошибку.
24 сен 09, 12:09    [7702233]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Mari-Salt
Member

Откуда:
Сообщений: 367
PaulYoung,
спасибо получилось
24 сен 09, 13:09    [7702667]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
iljy
Member

Откуда:
Сообщений: 8711
Mari-Salt,

(select code, streetname from S_streets
where s_streets.streetname=S.streetname
and lastuser not like 'sa' and citycode=1061
)
ничего что у вас в подзапросе ДВА поля указаны? А вы все строчки пытаетесь считать.
24 сен 09, 13:11    [7702686]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Mari-Salt
PaulYoung,
спасибо получилось
Что получилось не интересует? :) И исправить дубли желания не имеется?
24 сен 09, 13:12    [7702694]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Senya_L
Mari-Salt
PaulYoung,
спасибо получилось
Что получилось не интересует? :) И исправить дубли желания не имеется?
Судя по постам, автору некогда заниматься подобной ерундой. Про "советую учить матчасть" промолчим...
24 сен 09, 13:21    [7702769]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Mari-Salt
Member

Откуда:
Сообщений: 367
iljy, одно поле только поставила, спасибо
24 сен 09, 13:23    [7702783]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить