|
|
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Privet. Mne nado sozdat takoy zapros : SELECT b, SUM(abuna1); FROM bux; GROUP BY b; INTO CURSOR abu1 No, nado ispolzuvat vsex poley tablitsi bux.To yest summa vsex poley tablitsi. Problema v tom chto takie poley u menya mnoqo (okolo 100) i oni (strukturi tablitsi) moqut menyatsa. Vopros takoy: Ctobi oboyti eti problemi mojno li ne perecislit vse poley i kak to 's odnoy komondoy' nayti summu? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 10:30 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
2 Markos Сначало занеси инфу в массив о структуре таблы через AFIELDS(), а потом определи кол-во елементов в массиве в переменную, потом через for от 1 до созданной переменной черпай названия полей и вставляй их в запрос. Вот и все! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 11:01 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Немного не ясен вопрос. Если ты хочешь получить сумму значений какого-то поля всех строк таблицы, то GROUP BY тебе не нужен. Достаточно так: SELECT SUM(abuna1); FROM bux; INTO CURSOR abu1 И ты получишь сумму всех значений поля abuna1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 11:04 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
StasL, qruppirovka mne nado , imenno po pole "b". Nedoxodyashiy, eto ya smoq delat: clos data use bux gnFieldcount = AFIELDS(gaMyArray) && Create array CLEAR FOR nCount = 1 TO gnFieldcount ? gaMyArray(nCount,1) && Display field names ENDFOR No, kak dalshe nazvanie poley vstavlyat v zapros ne polucaetsa. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 11:16 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
2 Markos Ты когда нить слышал про "&" Так вот, создаешь строку в которой пишешь str = [select count(aaa) from bbb group by aaa into cursor ccc] Далее пишешь &str select ccc brow вот и ВСЕ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 11:20 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Posmotrite pojalusta, cto ya ne tak delayu , oshibka poluchaetsa. clos data use bux gnFieldcount = AFIELDS(MASS) ?gnFieldcount read CLEAR STR1="SELECT B, " FOR nCount = 1 TO gnFieldcount MASS1=MASS(nCount,1) STR1=[&STR1,SUM(&MASS1)] ?STR1 ENDFOR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 11:54 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
2 Markos clos data use bux in 0 select bux AFIELDS(array_tabl) ?gnFieldcount count_array=alen(array_tabl) str='' FOR nCount = 1 TO count_array str=str+iif(nCount<>nCount,[count(]+alltrim(array_tabl(nCount,1))+[) as ]+alltrim(array_tabl(nCount,1))+[ ,],[count(]+alltrim(array_tabl(nCount,1))+[) as ]+alltrim(array_tabl(nCount,1))) ENDFOR str=[select ]+str+[ from bux into cursor temps] &str ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 12:06 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Takaya osibka polucaetsa v strku mejdu for i endfor: 'Subscript is outside defined range' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 12:48 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
str=str+iif(nCount<>count_array,[count(]+alltrim(array_tabl(nCount,1))+[) as ]+alltrim(array_tabl(nCount,1))+[ ,],[count(]+alltrim(array_tabl(nCount,1))+[) as ]+alltrim(array_tabl(nCount,1))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 12:53 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
To je samaya oshibka. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 12:58 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Перед &str выведи свою строку str на экран и посмотри что в ней не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 13:33 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Moy variant vot takoy: clos data clea clea all use bux in 0 select bux gnFieldcount = AFIELDS(MASS) STR1="B" FOR nCount = 24 TO gnFieldcount && Mne nado nacinaya s 24-vo pole do kontse. && No pocemu to polucaets tolko qde to do 41. MASS1=MASS(nCount,1) STR1=[&STR1 ,sum(&MASS1)] ENDFOR str2=[select ]+str1+[ from bux group by b] ?str2 Yesli gnFieldcount >41 toqda takaya oshibka polucaetsa: 'Command contains unrecognized phrase/keyword' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 15:01 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Вот здесь ты что-то перемудрил Markos STR1=[&STR1 ,sum(&MASS1)] STR1 = STR1 + ", sum(&MASS1)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 15:29 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
U menya posledniy variant vot tak doljna bit: clos data clea clea all use abn_inf in 1 select abn_inf use bux in 0 select bux gnFieldcount = AFIELDS(MASS) STR1="b," FOR nCount = 34 TO gnFieldcount select abn_inf loca for fc =ncount if a_qiy=1 a_qiy1="q_opt" endi if a_qiy=3 a_qiy1="q_abun" endi if a_qiy=4 a_qiy1="q_mat_y" endi if a_qiy=5 a_qiy1="q_koshk" endi if a_qiy=6 a_qiy1="q_fil" endi select bux MASS1=MASS(nCount,1) sTR1=iif( ncount<>gnFieldcount, str1+[sum(&MASS1*&a_qiy1),],str1+[sum(&MASS1*&a_qiy1)]) ENDFOR ?str1 select &str1 ; from bux group by b Foxpro 9 vsyo normalno rabotaet, no mne nado foxpro 6, zdes fotal error dayut i pomoemu stroka sr1=iif(...) ocen dlinnaya . Mojno kak nibut eto foxpro 6 realizovat? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 16:20 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Поясни, пожалуйста, смысл функции IIF? Если ты вне зависимости от условия возвращаешь одно и то же. Markos sTR1=iif( ncount<>gnFieldcount, str1+[sum(&MASS1*&a_qiy1),],str1+[sum(&MASS1*&a_qiy1)]) &MASS1*&a_qiy1 -- в str1 как выглядит? Может здесь где-то ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 17:55 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
2 Markos Во ты намудрил!! Чем тебе мой пример не подходит?? Ладно, чтоб не мучиться со строками могу предложить мой способ. Создай курсор с одним столбцом и тип столбца дай -мемо. добавь только одну строку. И заноси все подряд в это мемо. А потом &имя_курсора.имя_поля. работает на 101% ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 19:55 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Etot vopros ya reshil tolko v Foxpro 9. Pocemu to v foxpro 6 oshibka polucaetsa. Pomoemu ocen dlinnaya stroka poetomu. Stasl, smisl funktsii iif(): V zavisimosti uslovii (ncount<>gnFieldcount) str1= [sum(&MASS1*&a_qiy1),] ili str1+[sum(&MASS1*&a_qiy1)]) Raznitsa: "," Seycas ya xocu reshit vot takoy vopros: SELECT abn_inf INDEX ON FC TO P BROWSE mc=fc USE BUX_mdx P1=FIELD(mc) USE BUX_kss P2=FIELD(mc) USE BUX_bnk P3=FIELD(mc) USE BUX_borc P4=FIELD(mc) Seycas mne nado v odnom brow pokazat vse 4 pole iz 4 raznix tablits Cto-to takoe: brow &1, &p2, &p3, &p4 Mojno li takoe delat? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 08:00 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Да, это можно, но не таким способом. Почитай Help по SELECT - SQL. Тебе нужно объединить 4 таблицы в одном запросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 09:28 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Selectom ya eto delal . Tolko mne nado cto eti 4 tablitsi odnovremenno (v odnom brow) redaktirovat. No, select eto ne razreshaet. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 10:12 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Извини конечно, но у тебя какой-то неправильный подход к решению этой задачи. Можно сделать это все гораздо проще и избежать многоих проблем. На http://www.foxclub.ru/articles/ есть статьи Владимира Максимова "Советы начинающим". Почитай, очень много полезного найдешь. Сам с этого начинал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 10:38 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Ya mnoqo iz nix cital, seycas yeshyo raz posmotrel, ne nashel to cto mne zdes nujno. Yest 4 tablitsi. Nado ctobi odnovremenno ( v odnom brow) redaktirovat vse 4 tablitsi "odinokovie" pole po nomeru pole (mc). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 10:53 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
2 Markos 1) По поводу длины я написал тебе работающий способ. Сам использую. 2)Если таблицы одинаковы то какимто признакам иколичеству строк, то помисти их в одну таблицу и редактирую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 17:09 |
|
||
|
zapros -summa vsex poley?
|
|||
|---|---|---|---|
|
#18+
Nedoxodyashiy, 1) Vash variant u menya pocemu to s oshibkoy rabotaet: 'Subscript is outside defined range' Mojet bit ya chto-to ne tak delayu, neznayu. 2) Vash 2-y sovet seycas poprobuyu, pomoemu doljno polucitsa. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2006, 07:18 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=248&tid=1591299]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 345ms |

| 0 / 0 |
