Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Один Select вмеcто двух?  [new]
alexFV
Member

Откуда:
Сообщений: 331
SELECT b.kon, COUNT(*) as cn_ls ;
	FROM Us a LEFT JOIN UsD b ON a.zh = b.zh ;
	WHERE a.r1<>9;
	GROUP BY 1;
	INTO CURSOR cur1
	
SELECT b.rn, SUM(cn_ls) as cn_abon;
	FROM cur1 a LEFT JOIN UsKon b ON a.kon = b.kon;
	GROUP BY 1;
	INTO CURSOR cur2

Возможно ли заменить два эти запроса одним?
11 май 06, 14:35    [2652623]     Ответить | Цитировать Сообщить модератору
 Re: Один Select вмеcто двух?  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
А результат надо вернуть в одном курсоре ?
Если да, то можно так:

SELECT b.kon, COUNT(*) as cn_ls ;
	FROM Us a LEFT JOIN UsD b ON a.zh = b.zh ;
	WHERE a.r1<>9;
	GROUP BY 1;
	INTO CURSOR cur1
UNION ALL
SELECT b.rn, SUM(cn_ls) as cn_abon;
	FROM cur1 a LEFT JOIN UsKon b ON a.kon = b.kon;
	GROUP BY 1
С уважением, Алексей
11 май 06, 15:08    [2652906]     Ответить | Цитировать Сообщить модератору
 Re: Один Select вмеcто двух?  [new]
Владимир СА
Member

Откуда:
Сообщений: 7881
alexFV
SELECT b.kon, COUNT(*) as cn_ls ;
	FROM Us a LEFT JOIN UsD b ON a.zh = b.zh ;
	WHERE a.r1<>9;
	GROUP BY 1;
	INTO CURSOR cur1
	
SELECT b.rn, SUM(cn_ls) as cn_abon;
	FROM cur1 a LEFT JOIN UsKon b ON a.kon = b.kon;
	GROUP BY 1;
	INTO CURSOR cur2

Возможно ли заменить два эти запроса одним?
Если у тебя эти оба запроса проходят, и VFP90, то идея такова вместо cur1 второго запроса подставляешь первый, попробуй так:
SELECT b.rn, SUM(cn_ls) as cn_abon;
	FROM (SELECT b.kon, COUNT(*) as cn_ls ;
	FROM Us a LEFT JOIN UsD b ON a.zh = b.zh ;
	WHERE a.r1<>9;
	GROUP BY 1) a LEFT JOIN UsKon b ON a.kon = b.kon;
	GROUP BY 1;
	INTO CURSOR cur2
11 май 06, 15:10    [2652926]     Ответить | Цитировать Сообщить модератору
 Re: Один Select вмеcто двух?  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
А.. не понял вопрос...
Тогда конечно подзапрос, как советует Владимир СА
С уважением, Алексей
11 май 06, 15:15    [2652973]     Ответить | Цитировать Сообщить модератору
 Re: Один Select вмеcто двух?  [new]
alexFV
Member

Откуда:
Сообщений: 331
всё чётко отработало!...спасибо Владимир СА
11 май 06, 15:20    [2653015]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить