Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

LEFT OUTER JOJN   Найти похожие ветки 

 
Трегубов Александр   (2005-10-28 09:52) [0]

Мастера! Подскажите пожалуйста.
Имеется запрос SELECT T1.*, T2.Name FROM T1 LEFT OUTER JOIN T2 ON T1.GroupID=T2.ID;
При удалении строки из этого запроса удаляется и строка из таблицы T2 (а это справочник). Как можно избежать этого удаления?


 
Johnmen ©   (2005-10-28 09:58) [1]

Это sniknik знает. Жди его...


 
msguns ©   (2005-10-28 10:38) [2]

Приведи полностью запрос на удаление, а также компонент доступа


 
Трегубов Александр   (2005-10-28 10:49) [3]

Компонент Query: TADOQuery,
а удаляю просто Query.Delete;


 
msguns ©   (2005-10-28 10:58) [4]

1. Как у тебя определено поле GroupID в T1 в самом Ацессе (В частности св-во "Условие на значение")?
2. Определены ли у тебя обработчики  TADOQuery.Before/AfterInsert ?


 
Трегубов Александр   (2005-10-28 11:30) [5]

1. Да никак, просто длинное целое, условий нет. Это просто идентификатор группы, а в справочнике (Т2) ему сопоставляется Название группы.

Общий запрос выбирает все поля из Т1 и + поле Name из Т2
А вот при удалении нужно удалить тольлко из Т1, а Т2 не трогать.

2. Нет. не определены, они мне ни к чему, я не вставляю, а удаляю.


 
msguns ©   (2005-10-28 12:10) [6]

>Трегубов Александр   (28.10.05 11:30) [5]
>2. Нет. не определены, они мне ни к чему, я не вставляю, а удаляю.

Там имелось в виду Delete, конечно :)

Вообще странно это..
Имеешь редактируемый Query, при удалении из которого удаляется запись из ссылочной таблицы..

А как у тебя определена сама ссылочная таблица, посмотри ее структуру и особенно св-ва ID


 
Трегубов Александр   (2005-10-28 13:08) [7]


> Имеешь редактируемый Query, при удалении из которого удаляется
> запись из ссылочной таблицы..

Вот именно, это и мне непонятно.

Структура Т2 проста: ID - Счетчик, Name - текстовое, обязательное


 
Lexer ©   (2005-10-28 13:22) [8]

Трегубов Александр, может тогда лучше использовать Lookup поля?


 
Трегубов Александр   (2005-10-28 13:31) [9]

Мне нужны именно SQL запросы. Поэтому и использую ADOQuery.


 
Anatoly Podgoretsky ©   (2005-10-28 13:52) [10]

Свойство Unique Table


 
Трегубов Александр   (2005-10-28 14:18) [11]

Мастера!
Сейчас подумал, а может быть причина удаления из Т2 в том, что я упорядочиваю по полю T2.Name:

SELECT T1.*, T2.Name FROM T1 LEFT OUTER JOIN T2 ON T1.GroupID=T2.ID ORDER BY Kurs, T2.Name, Fam,Imy,Otchest;


 
sniknik ©   (2005-10-28 14:45) [12]

> Это sniknik знает. Жди его...
;о) точно, знаю. и не я один.
> Свойство Unique Table

после открытия датасета делай.
ADODataSet.Properties["Unique Table"].Value:= "T1";


 
msguns ©   (2005-10-28 14:51) [13]

>sniknik ©   (28.10.05 14:45) [12]
>после открытия датасета делай.
ADODataSet.Properties["Unique Table"].Value:= "T1";

Неисповедимы пути адошние..
Прости, Господи (крестюсь)


 
Трегубов Александр   (2005-10-28 15:54) [14]

Не помогает.
А кстати, что это дает?


 
Трегубов Александр   (2005-10-28 16:13) [15]

Все, помогло, просто меня немного сглючило на последнем посте.
Всем спасибо. Надо почаще читать MSDN



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.036 c
2-1132571540
Perf2k2
2005-11-21 14:12
2005.12.11
Пытаюсь вызвать процедуру показа формы FormShow, не получается :(


14-1132159902
default
2005-11-16 19:51
2005.12.11
Математическая точка


5-1113813834
Max_005
2005-04-18 12:43
2005.12.11
Вывод текста в собственном компоненте


2-1132253742
bodomic
2005-11-17 21:55
2005.12.11
Поясните пожалуйста работу с AWE на примере?


14-1132576325
Дмитрий_Б
2005-11-21 15:32
2005.12.11
Хорошее агенство недвижимости.