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

Вниз

local SQL   Найти похожие ветки 

 
777   (2002-08-05 15:50) [0]

почему такой запрос (local SQL)
select
id,
name,
(select name from sp_nasp where cod=sql_.gor)
from sql_

возвращает 2 заполненных поля, а третье остается
пустым?
И если значение во вложенном запросе указать явно
(например cod=5), то всё работает как надо.

Сл-но возникает вопрос: а как тогда в таком
запросе объявить переменную, присваивать ей
динамически значение поля sql_.gor и затем
подставлять во вложенную процедуру?
Или есть иной выход?


 
sniknik   (2002-08-05 16:15) [1]

обьявить переменную в local SQL или процедуру невозможно.
можно иметь переменную для передачи значения в запрос.
а значит парой запросов все решается, первый получает значение и передает во второй.
пример параметра
Query2.SQL.Clear;

Query2.SQL.Add("INSERT INTO COUNTRY (NAME, CAPITAL, POPULATION)");
Query2.SQL.Add("VALUES (:Name, :Capital, :Population)");

Query2.Params[0].AsString := "Liechtenstein";
Query2.Params[1].AsString := "Vaduz";
Query2.Params[2].AsInteger := 420000;
Query2.ExecSQL;



 
Дмитрий Калугин   (2002-08-05 18:16) [2]

К параметрам удобнее обращаться по имени,
чтобы не было путаницы при изменении порядка выборки полей:

Query2.ParamByName("Name").AsString:= "Liechtenstein";



 
Juve   (2002-08-05 23:59) [3]

А может просто в базе есть пустое значение "cod" и "sql_.gor"???


 
ЮЮ   (2002-08-06 02:45) [4]

А ещё предлагаю "объединять" таблицы так, как это положено,
без вызовов подзапросов в строке запроса:

select sql_.id,sql_.name,sp_nasp.name as gorName
flom sql_
left join sp_nasp on sql_.gor=sp_nasp.cod


 
Emfi   (2002-08-06 09:45) [5]

Согласен с ЮЮ
Тут напрашивается join.



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

Форум: "Базы";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
7-85273
Transnet.
2002-06-13 04:50
2002.08.26
Как можно


3-84891
Radimir
2002-08-06 10:35
2002.08.26
Как подставить имя таблицы через Select


14-85209
Rustik
2002-07-31 15:02
2002.08.26
Нужен алгоритм разбора арифметических и логических конструкций


1-84998
First_May
2002-08-16 09:10
2002.08.26
Опять Excel


14-85222
ACR
2002-08-01 01:56
2002.08.26
Куда утекла память





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский