|
|
|
Агрегатные функции на строку
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, All Подскажите пожалуйста, есть ли какие-нибудь средства для вычисления, например, sum вдоль строки (как в Excel-е :) Например, мне нужно удалить все строки, состоящие из одних 0. Проблема в том, что временная таблица генерится в ХП и имеет переменное количество столбцов: Код: plaintext 1. 2. И еще, можно ли результирующим select-ом вернуть не все столбцы, а, скажем, со 2 по 5, или все, кроме 1-го? SQL v.7 Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 08:47:14 |
|
||
|
Агрегатные функции на строку
|
|||
|---|---|---|---|
|
#18+
Раз имена полей генерятся самой процедурой - сохранять их в доп.темповой табле. Из нее надергать в переменную как-нить типа так: select @CmdStr = 'delete from #ttt where ' while @i > 0 select @CmdStr + ColName from #TExtTable where ID = @i + ' = 0 and ' select @i = @i+1 @CmdStr = @CmdStr + '1 = 1' exec (@CmdStr) Аналогично и сумму.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 09:23:01 |
|
||
|
Агрегатные функции на строку
|
|||
|---|---|---|---|
|
#18+
Спасибо, идея понятна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 10:07:51 |
|
||
|
Агрегатные функции на строку
|
|||
|---|---|---|---|
|
#18+
Вот примерно то, что Вам нужно: Код: 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. С уважением, Александр Степанов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 11:49:49 |
|
||
|
Агрегатные функции на строку
|
|||
|---|---|---|---|
|
#18+
Спасибо, Алексанр. Попробую разобраться как это работает. Я не силен в работе с системными объектами, поэтому придется сначала изучить их. К сожалению, присланный Вами пример у меня не сработал (select @SQL, вставленный перед exec(@SQL) показывает, что @SQL='Delete from #ttt where 0=0'), но все равно спасибо за ответ, дальше буду разбираться сам. Сергей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 12:46:32 |
|
||
|
Агрегатные функции на строку
|
|||
|---|---|---|---|
|
#18+
To SK1 Это значит, что в Вашей таблице не оказалось полей, "порядковые номера" которых были бы в границах между @PosFrom и @PosTo. Чтобы exec-ом не удалялись все записи из таблицы в этом случае, можно заменить Код: plaintext 1. 2. 3. на Код: plaintext 1. 2. 3. 4. 5. 6. Конечно, пример придется доработать - ведь только Вам известны все нюансы требуемого решения. С уважением, Александр Степанов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 13:09:46 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3407&tid=1820018]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 195ms |
| total: | 327ms |

| 0 / 0 |
