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

Откуда:
Сообщений: 3
Привет !
Необходимо из существующей таблицы, создать другую, только для тех столбцов, общая сумма которых больше 0 (для числовых полей) !
Спасибо!
11 ноя 08, 17:30    [6424755]     Ответить | Цитировать Сообщить модератору
 Re: Выборка ненулевых полей  [new]
MAJIbIIII
Member

Откуда:
Сообщений: 111
Вот тебе один из вариантов (не самый лучший!!!). Я уверен есть более ПРАВИЛЬНЫЙ вариант!
LOCAL nTemp, i, sFields

CREATE TABLE tTable1 (nCol1 N, nCol2 N, nCol3 N)
SELECT tTable1
INSERT INTO tTable1 VALUES (1, 0, 1)

nTabFil = AFIELDS(aTabFil, "tTable1")

m.sFields = ''

FOR m.i = 1 TO nTabFil STEP 1
	CALCULATE SUM(&aTabFil(m.i, 1)) TO m.nTemp
	IF m.nTemp > 0 THEN
		m.sFields = m.sFields + IIF(EMPTY(m.sFields), '', ', ') + m.aTabFil(m.i, 1) + ' N'
	ENDIF
ENDFOR

CREATE TABLE tTable2 (&sFields)

SELECT tTable2
APPEND FROM tTable1
BROWSE
12 ноя 08, 01:42    [6426404]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить