Главная страница
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.49 MB
Время: 0.012 c
1-35358
nikolo
2002-07-30 10:31
2002.08.12
clCream is not a valid integer value ?


1-35375
inquisitive
2002-07-30 16:25
2002.08.12
Непонятности с TFrame


4-35523
Ron
2002-06-03 21:50
2002.08.12
Printer


14-35411
Внимание, новый вирус
2002-07-16 09:08
2002.08.12
Win32.HLLM.Frethem.11


14-35409
Malder
2002-07-10 01:15
2002.08.12
Локальная сеть