Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Снова объединение курсоров / 25 сообщений из 27, страница 1 из 2
13.08.2008, 01:41
    #35484228
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Здравствуйте.
есть два сформированных курсора.

1й курсор (пример данных)
X | RN | Tip | TextX
----------------------------------------------
100 | "r1" | 1 | "Текст строки1"
200 | "r1" | 2 | "Текст строки2"
300 | "r2" | 1 | "Текст строки3"
400 | "r2" | 2 | "Текст строки4"

2й курсор (пример данных)
Y | RN | Tip | TextY
----------------------------------------------
110 | "r1" | 1 | "Текст строки1"
310 | "r2" | 1 | "Текст строки2"
410 | "r2" | 2 |"Текст строки3"

необходимо получить объединенную таблицу без дублей
(Группировка происходит по RN и Tip.)

X | Y | RN | Tip | TextX | TextY
------------------------------------------------------------------------
100 | 110 | "r1" | "1" | "Текст строки" | "Текст строки"
200 | ----- | "r1" | "2 " | "Текст строки" | "Текст строки"
300 | 310 | "r2" | "1" | "Текст строки" | "Текст строки"
400 | 410 | "r2" | "2" | "Текст строки" | "Текст строки"


Подскажите пожалуйста как можно провернуть такую штуку?
Заранее спасибо.
...
Рейтинг: 0 / 0
13.08.2008, 09:09
    #35484383
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Код: plaintext
1.
2.
bla-bla-bla FROM cursor1 c1 
LEFT JOIN cursor2 c2
ON LEFT(c1.x, 1 )=LEFT(c2.y, 1 )
...
Рейтинг: 0 / 0
13.08.2008, 12:16
    #35484893
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Дополняю:

1. Суммы могут быть любые в обоих курсорах.
2. не изветно сколько записей в курсорах
3. должны попасть все записи из курсора 1 и 2 (тоесть ни один курсор не является основным)
при необходимости добавить основной (собирающий) курсор - можно его создать, там будет поле RN с перечислением всех возможных RN в первом и втором курсоров без дублей соответственно.

блин срочно надо, горю
...
Рейтинг: 0 / 0
13.08.2008, 12:35
    #35484948
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
может попробовать такой метод?

select c1.x, c2.y, c1.rn, c1.tip, textX, TextY;
from c1;
left join on c2 where c1.rn = c2.rn and c1.tip = c2.tip;
into c3

select c1.x, c2.y, c2.rn, c2.tip, textX, TextY;
from c2;
left join on c1 where c2.rn = c1.rn and c2.tip = c1.tip;
into c4

а потом что-то вроде
select c3
append from c4

select DISTINCT * from c3 into Результат
...
Рейтинг: 0 / 0
13.08.2008, 13:08
    #35485071
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Такой код устроит:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
*!*	Здравствуйте.
*!*	есть два сформированных курсора.

*!*	1й курсор (пример данных)
SELECT  1 
CREATE CURSOR C1 (X N( 3 ),RN C( 2 ),Tip N( 1 ),TextX C( 20 ) )
INSERT INTO C1 VALUES  ( 100  , "r1" ,  1  , "Текст строки1")
INSERT INTO C1 VALUES ( 200  , "r1" ,  2  , "Текст строки2")
INSERT INTO C1 VALUES ( 300  , "r2" ,  1  , "Текст строки3")
INSERT INTO C1 VALUES ( 400  , "r2" ,  2  , "Текст строки4")

*2й курсор (пример данных)
SELECT  2 
CREATE CURSOR C2 (Y N( 3 ), RN C( 2 ) , Tip N( 1 ) , TextY C( 20 ))
INSERT INTO C2 VALUES ( 110  , "r1" ,  1  , "Текст строки1")
INSERT INTO C2 VALUES ( 310  , "r2" ,  1  , "Текст строки2")
INSERT INTO C2 VALUES ( 410  , "r2" ,  2  ,"Текст строки3")

*!*	необходимо получить объединенную таблицу без дублей
*!*	(Группировка происходит по RN и Tip.)

*!*	X , Y , RN , Tip , TextX , TextY
*!*	------------------------------------------------------------------------
*!*	 100  ,  110  , "r1" , "1" , "Текст строки" , "Текст строки"
*!*	 200  , ----- , "r1" , "2 " , "Текст строки" , "Текст строки"
*!*	 300  ,  310  , "r2" , "1" , "Текст строки" , "Текст строки"
*!*	 400  ,  410  , "r2" , "2" , "Текст строки" , "Текст строки"

SELECT C1.X,C2.Y,C1.RN,C1.TIP,C1.TEXTX,C2.TEXTY FROM C1,C2 WHERE C1.RN=C2.RN AND C1.TIP=C2.TIP ;
 UNION ALL ;
SELECT C1.X, 000 ,C1.RN,C1.TIP,C1.TEXTX,SPACE( 20 ) FROM C1 WHERE NOT EXISTS (SELECT * FROM  C2 WHERE C1.RN=C2.RN AND C1.TIP=C2.TIP) ;
 UNION ALL ;
SELECT  000 ,C2.Y,C2.RN,C2.TIP,SPACE( 20 ),C2.TEXTY FROM C2 WHERE NOT EXISTS (SELECT * FROM  C1 WHERE C1.RN=C2.RN AND C1.TIP=C2.TIP)
...
Рейтинг: 0 / 0
13.08.2008, 13:22
    #35485127
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Код: plaintext
1.
2.
bla-bla-bla FROM cursor1 c1 
FULL OUTER JOIN cursor2 c2
ON c1.rn=c2.rn
...
Рейтинг: 0 / 0
13.08.2008, 13:25
    #35485149
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
DezhurДополняю:

1. Суммы могут быть любые в обоих курсорах.
2. не изветно сколько записей в курсорах
3. должны попасть все записи из курсора 1 и 2 (тоесть ни один курсор не является основным)
при необходимости добавить основной (собирающий) курсор - можно его создать, там будет поле RN с перечислением всех возможных RN в первом и втором курсоров

FULL JOIN надо

Dezhurбез дублей соответственно.
DISTINCT

Как-то так:
Код: plaintext
1.
2.
select distinct c1.x, c2.y, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 
...
Рейтинг: 0 / 0
13.08.2008, 13:41
    #35485198
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dima T RN,TIP забыл

Код: plaintext
1.
2.
3.
select distinct c1.x, c2.y,C1.RN,C1.TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 
...
Рейтинг: 0 / 0
13.08.2008, 13:51
    #35485242
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
LUCIANDima T RN,TIP забыл
Как забыл? Вот же они:
Код: plaintext
1.
2.
3.
4.
select distinct c1.x, c2.y,C1.RN,C1.TIP, c1.TextX, c2.TextY;
	from c1 full join c2;
             on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 
...
Рейтинг: 0 / 0
13.08.2008, 13:54
    #35485251
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dima T LUCIANDima T RN,TIP забыл
Как забыл? Вот же они:

Действительно забыл. Тогда так:
Код: plaintext
1.
2.
3.
select distinct c1.x, c2.y, NVL(C1.RN, C2.RN) as RN, NVL(C1.TIP, c2.TIP) as TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 
...
Рейтинг: 0 / 0
13.08.2008, 14:01
    #35485278
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dezhurможет попробовать такой метод?

select c1.x, c2.y, c1.rn, c1.tip, textX, TextY;
from c1;
left join on c2 where c1.rn = c2.rn and c1.tip = c2.tip;
into c3

select c1.x, c2.y, c2.rn, c2.tip, textX, TextY;
from c2;
left join on c1 where c2.rn = c1.rn and c2.tip = c1.tip;
into c4

а потом что-то вроде
select c3
append from c4

select DISTINCT * from c3 into Результат
Этот вариант сработал


LUCIANDima T RN,TIP забыл

Код: plaintext
1.
2.
3.
select distinct c1.x, c2.y,C1.RN,C1.TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 

И этот тоже. Но он конечно красивее. :-)

p/s Tip - текстовое поле.

Ура всем огромное спасибо за советы!!!
приведенные к примеру таблицы имеют на десяток полей меньше, чем в реале.
видимо сам из-за обилия информации, которую надо обработать совсем сооброжалки лишился,
а может память просто обновить надо - книжек почитать :-)
...
Рейтинг: 0 / 0
13.08.2008, 14:12
    #35485305
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dezhur
LUCIANDima T RN,TIP забыл

Код: plaintext
1.
2.
3.
select distinct c1.x, c2.y,C1.RN,C1.TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 

И этот тоже. Но он конечно красивее. :-)
Замени в списке полей C1.RN на NVL(C1.RN, C2.RN) as RN, т.к. при FULL JOIN может быть запись в C2 и отсутствовать в С1, в этом случае C1.RN будет NULL и надо брать C2.RN
Для TIP точно также.
...
Рейтинг: 0 / 0
13.08.2008, 14:36
    #35485383
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dima T Dezhur
LUCIANDima T RN,TIP забыл

Код: plaintext
1.
2.
3.
select distinct c1.x, c2.y,C1.RN,C1.TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 

И этот тоже. Но он конечно красивее. :-)
Замени в списке полей C1.RN на NVL(C1.RN, C2.RN) as RN, т.к. при FULL JOIN может быть запись в C2 и отсутствовать в С1, в этом случае C1.RN будет NULL и надо брать C2.RN
Для TIP точно также.

точно, сам только что напоролся на ошибку если в С1 нет а в С2 есть.
Спасибо.
...
Рейтинг: 0 / 0
14.08.2008, 12:15
    #35487097
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
не срабатывает.
Если
c1.TextX, c2.TextY одинаковые , то строчки сводит нормально,
если разные, то дублируются.
c1.TextX, c2.TextY - обязательно должны быть в сводной таблице - это ссылки на номера докуметов отражающих суммы по X и Y
как быть?
...
Рейтинг: 0 / 0
14.08.2008, 13:16
    #35487401
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dezhurне срабатывает.
Если
c1.TextX, c2.TextY одинаковые , то строчки сводит нормально,
если разные, то дублируются.
c1.TextX, c2.TextY - обязательно должны быть в сводной таблице - это ссылки на номера докуметов отражающих суммы по X и Y
как быть?

Скрипт таблицы с исходными данными покажи на которых неправильно отрабатывает. Такого плана
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE CURSOR C1 (X N( 3 ),RN C( 2 ),Tip N( 1 ),TextX C( 20 ) )
INSERT INTO C1 VALUES  ( 100  , "r1" ,  1  , "Текст строки1")
INSERT INTO C1 VALUES ( 200  , "r1" ,  2  , "Текст строки2")
INSERT INTO C1 VALUES ( 300  , "r2" ,  1  , "Текст строки3")
INSERT INTO C1 VALUES ( 400  , "r2" ,  2  , "Текст строки4")

CREATE CURSOR C2 (Y N( 3 ), RN C( 2 ) , Tip N( 1 ) , TextY C( 20 ))
INSERT INTO C2 VALUES ( 110  , "r1" ,  1  , "Текст строки1")
INSERT INTO C2 VALUES ( 310  , "r2" ,  1  , "Текст строки2")
INSERT INTO C2 VALUES ( 410  , "r2" ,  2  ,"Текст строки3")

И покажи что именно не устраивает в результате и как правильно должно быть
...
Рейтинг: 0 / 0
14.08.2008, 13:50
    #35487516
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Скрипты выложу, но может и сразу сможете ответить.
как оказалось дело не в разных textX и textY. а втом, что
группировка работает на записи в С1 и С2 которые есть либо и там и там,
либо в одной из таблиц.
а ситтуация когда например в с1 одна запись, а в С2 Две записи с таким же RN и Tip, но с разными суммами или Text.
в итоге должно попать всё без использования sum(), grup by.
...
Рейтинг: 0 / 0
14.08.2008, 14:00
    #35487554
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dezhurситтуация когда например в с1 одна запись, а в С2 Две записи с таким же RN и Tip, но с разными суммами или Text.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE CURSOR C1 (X N( 3 ),RN C( 2 ),Tip N( 1 ),TextX C( 20 ) )
INSERT INTO C1 VALUES  ( 100  , "r1" ,  1  , "Текст строки1")

CREATE CURSOR C2 (Y N( 3 ), RN C( 2 ) , Tip N( 1 ) , TextY C( 20 ))
INSERT INTO C2 VALUES ( 110  , "r1" ,  1  , "Текст строки1")
INSERT INTO C2 VALUES ( 310  , "r1" ,  1  , "Текст строки2")

select distinct c1.x, c2.y, NVL(C1.RN, C2.RN) as RN, NVL(C1.TIP, c2.TIP) as TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 

Получаем:
xyrntiptextxtexty100110"r1"1"Текст строки1""Текст строки1"100310"r1"1"Текст строки1""Текст строки2"

Что не так? Какой правильный результат должен быть?
...
Рейтинг: 0 / 0
14.08.2008, 14:04
    #35487576
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE CURSOR C1 (X N( 3 ),RN C( 2 ),Tip N( 1 ),TextX C( 20 ) )
INSERT INTO C1 VALUES  ( 100  , "r1" , "1" , "Текст строки1")
INSERT INTO C1 VALUES ( 200  , "r1" , "2" , "Текст строки2")
INSERT INTO C1 VALUES ( 300  , "r2" , "1" , "Текст строки3")
INSERT INTO C1 VALUES ( 400  , "r2" , "2" , "Текст строки4")

CREATE CURSOR C2 (Y N( 3 ), RN C( 2 ) , Tip N( 1 ) , TextY C( 20 ))
INSERT INTO C2 VALUES ( 110  , "r1" , "1" , "Текст строки1a")
INSERT INTO C2 VALUES ( 111  , "r1" , "1" , "Текст строки1b")
INSERT INTO C2 VALUES ( 310  , "r2" , "1" , "Текст строки2a")
INSERT INTO C2 VALUES ( 410  , "r2" , "2" ,"Текст строки3a")

Делаю
Код: plaintext
1.
2.
3.
select distinct c1.x, c2.y, nvl(C1.RN, C2.RN) as RN, nvl(C1.TIP,C2.TIP) as TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by RN, TIP


В итоге получаем

X | Y | RN | Tip | TextX | TextY
------------------------------------------------------------------------
100 | 110 | "r1" | "1" | "Текст строки1" | "Текст строки1a"
100 | 111 |"r1" | "1" | "Текст строки1"| "Текст строки1b"
200 | null | "r1" | "2 " | "Текст строки2"| null
300 | 310 | "r2" | "1" | "Текст строки3" | "Текст строки2a"
400 | 410 | "r2" | "2" | "Текст строки4" | "Текст строки"3a"
_______________________________________________________________
...
Рейтинг: 0 / 0
14.08.2008, 14:06
    #35487582
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dezhur[src]
В итоге получаем

X | Y | RN | Tip | TextX | TextY
------------------------------------------------------------------------
100 | 110 | "r1" | "1" | "Текст строки1" | "Текст строки1a"
100 | 111 |"r1" | "1" | "Текст строки1"| "Текст строки1b"
200 | null | "r1" | "2 " | "Текст строки2"| null
300 | 310 | "r2" | "1" | "Текст строки3" | "Текст строки2a"
400 | 410 | "r2" | "2" | "Текст строки4" | "Текст строки"3a"
_______________________________________________________________
Выделенное красным должно быть NULL
...
Рейтинг: 0 / 0
14.08.2008, 14:11
    #35487600
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dima T
xyrntiptextxtexty100110"r1"1"Текст строки1""Текст строки1"100310"r1"1"Текст строки1""Текст строки2"

Что не так? Какой правильный результат должен быть?
т.к. документ с суммой 100 по Х уже попал в таблицу, снова он попадать не должен.
...
Рейтинг: 0 / 0
14.08.2008, 14:21
    #35487620
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
DezhurВыделенное красным должно быть NULL
SELECT такое не сделает. Это тюнинговать кодом надо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select distinct c1.x, c2.y, NVL(C1.RN, C2.RN) as RN, NVL(C1.TIP, c2.TIP) as TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 ;
	into cursor tres readwrite

lnPrevX = - 1 
scan
	if lnPrevX = tres.x
		repl in tres X with NULL, TextX with NULL
	else
		lnPrevX = tres.x
	endif
endscan
brow

А что делать будешь с таким набором:
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE CURSOR C1 (X N( 3 ),RN C( 2 ),Tip C( 1 ),TextX C( 20 ) )
INSERT INTO C1 VALUES  ( 100  , "r1" , "1" , "Текст строки1_1")
INSERT INTO C1 VALUES  ( 101  , "r1" , "1" , "Текст строки1_2")

CREATE CURSOR C2 (Y N( 3 ), RN C( 2 ) , Tip C( 1 ) , TextY C( 20 ))
INSERT INTO C2 VALUES ( 110  , "r1" , "1" , "Текст строки1a")
INSERT INTO C2 VALUES ( 111  , "r1" , "1" , "Текст строки1b")
...
Рейтинг: 0 / 0
14.08.2008, 14:26
    #35487634
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
поидее можно можно пробежаться по полученной С3
и отсканировать повторения по |Сумма (X или Y) + RN + Tip + Text (X или Y)| и замениь на NULL повторные значения.
вот только не могу сообразить как.
...
Рейтинг: 0 / 0
14.08.2008, 14:30
    #35487645
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dezhurпоидее можно можно пробежаться по полученной С3
и отсканировать повторения по |Сумма (X или Y) + RN + Tip + Text (X или Y)| и замениь на NULL повторные значения.
вот только не могу сообразить как.
Читай внимательно. Я тебе уже показал как:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select distinct c1.x, c2.y, NVL(C1.RN, C2.RN) as RN, NVL(C1.TIP, c2.TIP) as TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 ;
	into cursor tres readwrite

lnPrevX = - 1 
scan
	if lnPrevX = tres.x
		repl in tres X with NULL, TextX with NULL
	else
		lnPrevX = tres.x
	endif
endscan
brow
...
Рейтинг: 0 / 0
14.08.2008, 14:32
    #35487654
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dima T
А что делать будешь с таким набором:
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE CURSOR C1 (X N( 3 ),RN C( 2 ),Tip C( 1 ),TextX C( 20 ) )
INSERT INTO C1 VALUES  ( 100  , "r1" , "1" , "Текст строки1_1")
INSERT INTO C1 VALUES  ( 101  , "r1" , "1" , "Текст строки1_2")

CREATE CURSOR C2 (Y N( 3 ), RN C( 2 ) , Tip C( 1 ) , TextY C( 20 ))
INSERT INTO C2 VALUES ( 110  , "r1" , "1" , "Текст строки1a")
INSERT INTO C2 VALUES ( 111  , "r1" , "1" , "Текст строки1b")


Должно получиться
xyrntiptextxtexty100110"r1"1"Текст строки1_1""Текст строки1a"101111"r1"1"Текст строки1_2""Текст строки1b"
...
Рейтинг: 0 / 0
14.08.2008, 14:34
    #35487659
Dezhur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова объединение курсоров
Dima T Dezhurпоидее можно можно пробежаться по полученной С3
и отсканировать повторения по |Сумма (X или Y) + RN + Tip + Text (X или Y)| и замениь на NULL повторные значения.
вот только не могу сообразить как.
Читай внимательно. Я тебе уже показал как:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select distinct c1.x, c2.y, NVL(C1.RN, C2.RN) as RN, NVL(C1.TIP, c2.TIP) as TIP, c1.TextX, c2.TextY;
	from c1 full join c2 on C1.RN=C2.RN AND C1.TIP=C2.TIP;
	order by  1 ;
	into cursor tres readwrite

lnPrevX = - 1 
scan
	if lnPrevX = tres.x
		repl in tres X with NULL, TextX with NULL
	else
		lnPrevX = tres.x
	endif
endscan
brow

это мы просто одновременно начали писать
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Снова объединение курсоров / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]