Главная страница
    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.007 c
1-85099
Kotka
2002-08-14 23:45
2002.08.26
Архиваторы


3-84901
Loco
2002-08-06 15:03
2002.08.26
Помогите!!! :)))


1-84982
-=Spike=-
2002-08-15 17:29
2002.08.26
Работа со значками.


3-84859
BAY
2002-08-05 07:31
2002.08.26
Что же использовать вместо FLOAT?


1-85007
zavdim
2002-08-16 09:27
2002.08.26
DirectDraw





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