Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
8-1120935016
murtix
2005-07-09 22:50
2005.12.11
Gdi+ и Delphi 2005


14-1132411904
QwertyKz
2005-11-19 17:51
2005.12.11
Microsoft Jet Непонятная ошибка


2-1133180778
pathfinder
2005-11-28 15:26
2005.12.11
Как лучше сохранить выборку из Adoquery в файл?


2-1132935214
Jimm
2005-11-25 19:13
2005.12.11
Как пользоваться Utf8ToUnicode?


14-1132587549
Yura32
2005-11-21 18:39
2005.12.11
Zvuk





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский