|
|
|
Как соединить строки при переносе из одной таблицы в другую?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Как дела? А вот у меня проблемка появилась. Может кто сможет помочь? А суть такая. Есть 2 таблицы. В одной из них есть поля: - год - номер - номер строки - мемо А в другой полей много больше, а я использую следующие: -год -номер Эти поля соответствуют полям первой таблицы. А надо во вторую таблицу добавить поле мемо. Хитрым образом добавить. В первой таблице ключ - это год+номер+номер строки Во второй таблице ключ - это год+номер А мемо надо добавить так(из первой таблицы): (мемо где номер строки = 1) + char(10) + char(13) + (мемо где номер строки = 2) + char(10) + char(13) + ..... + char(10) + char(13) + (мемо где номер строки максимальный для данного года и номера). Максимальные номера строк для каждого года и номера разные. В принципе могут быть пропущены номера строк, их тогда пропускать надо. Помогите запрос написать. Спасибо заранее. Ну и все пока:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2002, 10:06:57 |
|
||
|
Как соединить строки при переносе из одной таблицы в другую?
|
|||
|---|---|---|---|
|
#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. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2002, 17:12:33 |
|
||
|
Как соединить строки при переносе из одной таблицы в другую?
|
|||
|---|---|---|---|
|
#18+
Примерно так (без курсора): кстати, этот прием описан на FAQ данного форума... Код: 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. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2002, 19:05:25 |
|
||
|
Как соединить строки при переносе из одной таблицы в другую?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте еще раз. Большое спасибо за помощь. Я сам додумался. Думал, что это можно более легким способом сделать, при помоще одного селекта с вложениями, да видать не получается так. У меня вот такая процедура вышла. Работает вроде правильно. Предварительно в таблицу 2 поле мемо добавил. Да, в таблицах все поля текстовые. Нумерация строк начинается с 0. CREATE PROCEDURE dbo.add_memo AS declare @year varchar(4), @number varchar(4), @max_row int, @cur_row int, @memo varchar(8000) set @year = '' set @number = '' declare year_number insensitive cursor for select Isnull(year, 0), Isnull(number, 0) from table_2 open year_number fetch from year_number into @year, @number while @@fetch_status = 0 begin select @max_row = max(convert(int,string_number)) from table_1 where year = @year and number = @number set @cur_row = 0 set @memo = '' while @cur_row <= @max_row begin if exists(select * from table_1 where year = @year and number = @number and convert(int, string_number) = @cur_row) begin select @memo= @memo + IsNull(string_memo, '') from table_1 where year = @year and number = @number and convert(int, string_number) = @cur_row end set @cur_row = @cur_row + 1 end if @memo <> '' update table_2 set memo = @memo where year = @year and number = @number fetch from year_number into @year, @number end close year_number deallocate year_number Еще раз большое спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 10:12:40 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=46&tid=1819785]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 411ms |

| 0 / 0 |
