|
|
|
Junior Member
      
участник
Last Login: 09.12.2005 16:00
Сообщ.: 15,
Visits: 166
|
|
Добрый день.
Редактирую результат запроса, возникает ошибка (даже в Enterprise Manadger-е). В чем может быть дело?
SELECT dbo.tblTC.KeyTC, dbo.tblTC.NameTC, tbl_0.NameZnach AS NameZnach_0, tbl_0.Color AS Color_0, tbl_1.NameZnach AS NameZnach_1,
tbl_1.Color AS Color_1
FROM (SELECT KTC, NameZnach, Color, Visual
FROM dbo.tblTCZnach
WHERE (KZnach = 0)) tbl_0 INNER JOIN
(SELECT KTC, NameZnach, Color, Visual
FROM dbo.tblTCZnach
WHERE (KZnach = 1)) tbl_1 ON tbl_0.KTC = tbl_1.KTC INNER JOIN
dbo.tblTC ON tbl_1.KTC = dbo.tblTC.KeyTC
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.03.2008 15:26
Сообщ.: 701,
Visits: 7 028
|
|
Во, блин наворотил! Восхищаюсь!
А нельзя проще:
....
FROM dbo.tblTCZnach tbl_0 inner join
dbo.tblTCZnach tbl_1 on tbl_0.KTC = tbl_1.KTC inner join
dbo.tblTC ON tbl_1.KTC = dbo.tblTC.KeyTC
WHERE tbl_0.KZnach = 0 and tbl_1.KZnach = 1
?
Вложенные запросы по определению работают медленнее
|
|
|
|
|
Junior Member
      
участник
Last Login: 09.12.2005 16:00
Сообщ.: 15,
Visits: 166
|
|
[quote="Silver"]Во, блин наворотил! Восхищаюсь!
А нельзя проще:
Вложенные запросы по определению работают медленнее
[/quote]
Спасибо за совет. Но сути проблемы это не решило.
А вообще можно редоктировать результат такого запроса (две строки склеяны в одну)?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.03.2008 15:26
Сообщ.: 701,
Visits: 7 028
|
|
Опиши подробнее суть проблемы.
Что за ошибка выходит?
Есть еще одно сомнительное место в твоем запросе
Таблицы (tbl_0 и tbl_1) связаны по полю KTC,
одинаковые значения этих полей должны быть в
таблице tblTCZnach при KZnach = 0 и KZnach = 1.
Иначе выйдет пустой результат!
|
|
|
|
|
Junior Member
      
участник
Last Login: 09.12.2005 16:00
Сообщ.: 15,
Visits: 166
|
|
[quote="Silver"]Опиши подробнее суть проблемы.
Что за ошибка выходит?
Есть еще одно сомнительное место в твоем запросе
Таблицы (tbl_0 и tbl_1) связаны по полю KTC,
одинаковые значения этих полей должны быть в
таблице tblTCZnach при KZnach = 0 и KZnach = 1.
Иначе выйдет пустой результат!
[/quote]
tblTC - таблица сигналов (ключевое поле KeyTC)
tblTCZnach - таблица значения этих сигналов. Их у каждого сигнала два. (ключевое поле KTC, KZnach)
tblTC
---------------------
KeyTC NameTC
1 Задвижка
2 Насос N1
3 Насос N2
tblTCZnach
--------------------
KTC KZnach NameZnach
1 0 закрыта
1 1 открыта
2 0 выключен
2 1 включен
3 0 выключен
3 1 включен
Надо выводить одной строкой
---------------------------------------------
1 Задвижка закрыта открыта
2 Насос N1 выключен включен
Вывести получилось, но при редактировании ошибка
[image]"D:\2\1.jpg"[/image]
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.03.2008 15:26
Сообщ.: 701,
Visits: 7 028
|
|
| Ты же не хочешь сказать, что пытаешься редактировать результат запроса!!!!!
|
|
|
|
|
Junior Member
      
участник
Last Login: 09.12.2005 16:00
Сообщ.: 15,
Visits: 166
|
|
[quote="Silver"]Ты же не хочешь сказать, что пытаешься редактировать результат запроса!!!!![/quote]
Именно так
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.03.2008 15:26
Сообщ.: 701,
Visits: 7 028
|
|
Я конечно прочитал название топика, но... мне и в голову не могло
прийти, что человек, написавший (правильно!) такой навороченный запрос,
может пытаться "побрить своё изображение в зеркале"!
Результат запроса отредактировать НЕЛЬЗЯ по определению!!!!
Для обновления полей таблиц, входящих в запрос следует
использовать UPDATE внутри транзакции (если обновляемых полей несколько).
begin tran
update table1 set f | | | |