Главная страница
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.016 c
3-35149
RDA
2002-07-21 10:27
2002.08.12
Express Quantum TdxDBTreeView


4-35500
Max2000
2002-06-04 12:48
2002.08.12
Как как на API открывать и закрывать доступ к диску или папке.


1-35369
Евген
2002-07-30 16:50
2002.08.12
Вертикальный сплитер


14-35458
Michkarus
2002-07-18 22:04
2002.08.12
А че такое САБЖ?


14-35429
Л.Ге
2002-07-15 11:25
2002.08.12
Вывод в DBGrid c произвольной строки (D6, IB6)