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

Вниз

Внешнее объединение dbf в SQL запросе   Найти похожие ветки 

 
sashuly   (2005-09-09 09:19) [0]

Здраствуйте.
Я хочу объединить два Dbf-ка с помощью SQL запроса, придумал следующее:

select t.orderid, t.op_code,  t.op_light, t.op_name2,  a.gsum
from  "table.dbf" t   left JOIN
(select op_code, orderid, sum(op_light) as gsum from "goods.dbf" g  order by orderid, op_code) as a
ON A.op_code = t.op_code

пробовал такую конструкцию на MS SQL прокатывало, с dbf+Delphi не хочет. Ругается на второй SELECT.
Можно ли в моей ситуации делать подобные запросы и как быть?


 
Anatoly Podgoretsky ©   (2005-09-09 09:23) [1]

Да с dbf+Delphi нормально все.


 
sashuly   (2005-09-09 09:30) [2]

>Anatoly Podgoretsky
Стало быть дело в моих руках, тогда в чем ошибка?


 
Anatoly Podgoretsky ©   (2005-09-09 09:34) [3]

Ошибка не в руках, а в голове. Хочешь я переведу твой вопрос?
ПОмогите не работает.


 
Ильш ©   (2005-09-09 09:41) [4]

dbf+Delphi это конечно круто
тока я понимаю ты BDE пользуешь? или чего? или как? и где? А?
в MS SQL работает, но в дургих то может не работать - не предполагал?
кароче вопрос задай нормально


 
ЮЮ ©   (2005-09-09 09:55) [5]

>пробовал такую конструкцию на MS SQL прокатывало

Даже на MS SQL это, ИМХО, должно было выглядкит иначе:

select
 t.orderid, t.op_code,  t.op_light, t.op_name2,  a.gsum
from  
 table t  
 left JOIN (
   select op_code, orderid, sum(op_light) as gsum    
   from "goods.dbf" g  group by orderid, op_code
 ) as a ON
   (A.op_code = t.op_code) and (A.orderid = t.orderid)

Если используешь BDE, подзапрос а сохрани в иекстовом файле "а.sql" и положи в Базу. Получишь локальную вьюху.

Теперь

select
 t.orderid, t.op_code,  t.op_light, t.op_name2,  a.gsum
from  
 table t  
 left JOIN "a.sql" as a ON
   (A.op_code = t.op_code) and (A.orderid = t.orderid)


 
sashuly   (2005-09-09 10:56) [6]

>Anatoly Podgoretsky
Именно так я и спрашиваю:)

>Ильш
На MS SQL я проверял правильность синтаксиса, то что там работает я пришёл выводу, что с точки зрения SQL написано все правильно. Поэто му я и задаюсь вопросом если обращатся к dbf в чем отличие реализации.

>ЮЮ
по поводу:
 (A.op_code = t.op_code) and (A.orderid = t.orderid)
именно так и должно быть, я пока частный случай выяснял:)


 
Anatoly Podgoretsky ©   (2005-09-09 11:06) [7]

Ну да и мы должны сами догадаться, что за базу ты используешь, какой движок и драйвер. А также самостоятельно составить свой вариант ругани.
Хорошо это возможно, только сколько в баксах?


 
Desdechado ©   (2005-09-09 11:07) [8]

Синтаксис SQL у каждого сервера разный. Идет на MSSQL - не факт, что пойдет еще где-нибудь. Тем паче на DBF, к которому ты подключаешься неуказанными компонентами. Поэтому, держа в секрете способ обращения к БД, читай справку по этому способу сам.


 
Nikolay M. ©   (2005-09-09 13:32) [9]


> Anatoly Podgoretsky ©   (09.09.05 09:34) [3]
> Ильш ©   (09.09.05 09:41) [4]

Не пойму, зачем газы в луж... т.е. такое постить? Трафика не жалко?


> sashuly   (09.09.05 09:19)  
> select t.orderid, t.op_code,  t.op_light, t.op_name2,  a.gsum
>
> from  "table.dbf" t   left JOIN
> (select op_code, orderid, sum(op_light) as gsum from "goods.dbf"
> g  order by orderid, op_code) as a
> ON A.op_code = t.op_code


ДБФ позволяет конструкции типа
SELECT
 a,b,(SELECT MAX(c) FROM t2 WHERE t2.a=t1.a)
FROM
 t1

?


 
Anatoly Podgoretsky ©   (2005-09-09 16:56) [10]

Nikolay M. ©   (09.09.05 13:32) [9]
Не dbf, а соответсвующий движок, сам dbf ничего не позволяет, но даже это слово почти ничего не говорит это просто расширения подмножества совместимых и не совместимых форматов. И нет особого смысла вести речь в контексте dbf


 
Anatoly Podgoretsky ©   (2005-09-09 16:59) [11]

Nikolay M. ©   (09.09.05 13:32) [9]
Не пойму, зачем газы в луж... т.е. такое постить? Трафика не жалко?

С чего бы ты это озаботился моим трафиком, я конечно могу ответить, но для этого надо перейти в чат.

А как только автор приведет подробности, то возможно и получит совет, а возможно и нет. Смотря что у него и как будет рассказывать.



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

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

Наверх




Память: 0.49 MB
Время: 0.045 c
14-1127651029
alsov
2005-09-25 16:23
2005.10.16
Компонент - кнопка с 4 положениями (Up, MouseMove, Down, Disable)


1-1127725727
Alex.Ru
2005-09-26 13:08
2005.10.16
Странный глюк в проекте CLX


2-1126212783
veronika
2005-09-09 00:53
2005.10.16
Hot Key


9-1116326699
VVV-First
2005-05-17 14:44
2005.10.16
GlScene, Objects


14-1127760566
Piter
2005-09-26 22:49
2005.10.16
Ковырялся я тут в VCL...