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

Вниз

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

 
Loco   (2002-07-20 15:42) [0]

Hello, всем!!!
Господа, подскажите, что не так в этом кусочке кода:
SQL.Add("SELECT *");
SQL.Add("FROM "person.db", "slug_inf.db"");
SQL.Add("WHERE person.code=slug.inf.code" and "slug_inf.CreditSum >= "+IntToStr(strSum)+"" and "slug_inf.CreditSum =< "+IntToStr(strSumM)+"");
SQL.Add("ORDER BY Code");


Спасибо заранее, всем, кто откликнется :))


 
kaif   (2002-07-20 16:15) [1]

"WHERE person.code=slug.inf.code"
наверно slug_inf.code.
и потом, зачем кавычки?
можно просто
"FROM person, slug_inf"


 
Loco   (2002-07-20 16:34) [2]

Ну я немного не это имел в виду, здесь всё правильно(за исключением точки), проблема с условиями (они все вместе никак не хотят выполняться)


 
kaif   (2002-07-20 17:08) [3]

А в чем это выражается?
И чего ты хочешь добиться, собственно?


 
Loco   (2002-07-20 17:16) [4]

Видишь ли тут одна интересная проблема:
выборка делается в подчинённой таблице (slug_inf) связанной с главной (person) по полю Code. Поля, по которому делается выборка в главной таблице нет. Я хочу добиться того чтобы в главной таблице отбирались поля, соответствующие отобраным полям подчинённой (не запутал??? просто, сам чуть не запутался :))).
Ты как думаешь, возможно эту задачу решить с помощью одного Query не переделывая структуру данных????
Ладно, я бы поболтал, но надо бежать, если интересно, приходи завтра к обеду - обсудим :))


 
Desdechado   (2002-07-20 18:29) [5]

поставь в SELECT имена полей явно, а то она тебе вынет декартово произведение таблиц


 
Loco   (2002-07-21 15:15) [6]

Привет всем!


 
kaif   (2002-07-21 16:28) [7]

2 Desdechado © (20.07.02 18:29)
Декартова произведения не будет. У человека же стоит условие отбора в Where и вроде корректное. Я просто не понимаю, чего он хочет. Точнее, как он приходит к выводу, что что-то не так?
у него, что:
1. Выскакивает ошибка
2. Пустой набор
3. Не тот набор, какой хотелось бы...
???
Он же никак не объясняет, в чем, собственно проблема приведенного кода.


 
Desdechado   (2002-07-22 10:45) [8]

2 kaif © (21.07.02 16:28)
> Декартова произведения не будет
будет, но при наличии условия оно будет всего лишь меньше размером


 
DmitryK   (2002-07-22 12:21) [9]

Количество полей здесь, никакой роли не играет. Единственное исключение, когда возможны комбинации значений такие, что в оставленном наборе полей будут все NULL. Но насколько я понимаю, для данного случая это безразлично.

Что же касается запроса, то так составлять запросы имеет смысл только при условии соединения таблиц по принципу один-к-одному. Но в таком случае говорить что какая-то таблица главная, а какая-то подчиненная тоже не корректно (они равноправны).

Вообщем-то запрос должен выполняться, единственная причина по которой я вижу, что запрос не будет возращать никаких данных, так это strSum>strSumM

(и в синтаксисе есть мелкие ошибки, но про них вроде уже говорили)



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

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

Наверх




Память: 0.46 MB
Время: 0.006 c
1-35329
Leny
2002-07-30 09:13
2002.08.12
Место появления Hint


14-35405
Song
2002-07-15 18:12
2002.08.12
Приветствую, уважаемые коллеги. Отдохнулось классно.


1-35353
Explorer
2002-07-30 07:31
2002.08.12
FastReport: нужен ваш совет


3-35147
Oduvan
2002-07-21 21:27
2002.08.12
Проблема с кодировками в InterBase6


7-35471
lame
2002-05-21 05:18
2002.08.12
Как програмно остановить жесткий диск ?





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