Проверка запроса

WWWovan
Дата: 06.10.2005 16:22:26
Посмотрите пожалуйста в правильном ли направлении я двигаюсь? Такой запрос будет работать,

SQL.Add('SELECT opers.client, SUM(sellings.amount/opers.rate), (SELECT Clients.Name,clients.address, clients.phone, clients.fax FROM Clients WHERE Opers.Client = Clients.ID), (SELECT Users.Name FROM USERS WHERE Clients.Manager=Users.ID');
SQL.Add('FROM opers, clients, sellings');
SQL.Add(' WHERE');
SQL.Add(' opers.id=sellings.opid AND');
SQL.Add(' opers.client IN('+ThisRepClients+') AND');
SQL.Add(' opers.optype=80000 AND');
SQL.Add(' opers.opdate>="'+Trim(DateToStr(RepOptions.BegDate))+'" AND');
SQL.Add(' opers.opdate<="'+Trim(DateToStr(RepOptions.EndDate))+' 23:59:59" ');
SQL.Add('GROUP BY opers.client');
SQL.Add('HAVING sum(sellings.amount/opers.rate)<>0');
SQL.Add('ORDER BY clients.name');
Kull Damned
Дата: 06.10.2005 16:27:04
Сделай его параметризованным - отпадет много проблем. А насчет того рабочий он или нет - сервер и БД то у тебя, вот и проверяй.

Posted via ActualForum NNTP Server 1.3

fynda
Дата: 06.10.2005 16:27:05

WWWovan wrote:

> Посмотрите пожалуйста в правильном ли направлении я двигаюсь? Такой
> запрос будет работать,

Как пить дать нет. А вообще без тэга src его читать - глаза сломаешь. :(

Posted via ActualForum NNTP Server 1.3

Мимопроходящий
Дата: 06.10.2005 16:27:33

Привет, WWWovan!
Ты пишешь:

WWWovan
W> Посмотрите пожалуйста в правильном ли направлении я двигаюсь?
W> Такой запрос будет работать,
Если не влом, избавь нас от дельфийского кода.
Напиши чистый запрос.
Кроме того, воспользуйся кнопочкой SRC.
Тогда текст будет удобочитаемым.

Шансы получить ответ сразу возрастут.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3

WWWovan
Дата: 06.10.2005 16:55:14
SELECT opers.client, SUM(sellings.amount/opers.rate), (SELECT Clients.Name,clients.address, clients.phone, clients.fax FROM Clients WHERE Opers.Client = Clients.ID), (SELECT Users.Name FROM USERS WHERE Clients.Manager=Users.ID
FROM opers, clients, sellings
WHERE
opers.id=sellings.opid AND 
opers.client IN('+ThisRepClients+') AND
opers.optype=80000 AND 
opers.opdate>="'+Trim(DateToStr(RepOptions.BegDate))+'" AND
opers.opdate<="'+Trim(DateToStr(RepOptions.EndDate))+' 23:59:59" 
GROUP BY opers.client
HAVING sum(sellings.amount/opers.rate)<>0
ORDER BY clients.name
fraks
Дата: 06.10.2005 17:03:51
В последнем SELECT в SELECT не вижу закрывающую скобку.
fynda
Дата: 06.10.2005 17:05:45

WWWovan wrote:
> FROM opers, clients, sellings

Связь с таблицей clients где?

Posted via ActualForum NNTP Server 1.3

Карабас Барабас
Дата: 06.10.2005 17:08:54
Неужели так быстрее, чем отправить на сервер, тебе сервер все расскажет, что там не так в синтаксисе

Posted via ActualForum NNTP Server 1.3

fynda
Дата: 06.10.2005 17:17:38

Карабас Барабас wrote:

> Неужели так быстрее, чем отправить на сервер, тебе сервер все расскажет,
> что там не так в синтаксисе

Только ламеры отлаживают запросы на сервере. Настоящие крутые пацаны их
хардкодят прямо в SQL.Add() не глядя.

Posted via ActualForum NNTP Server 1.3

Di_LIne
Дата: 06.10.2005 17:38:53
fynda
Только ламеры отлаживают запросы на сервере. Настоящие крутые пацаны их
хардкодят прямо в SQL.Add() не глядя.

... в чужой сервер...