|
|
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
Подкажите, кто знает.... Необходимо сделать выборку из таблицы, при этом имена клиентов не должны повторяться (DISTINCT), а текстовое поле, значения которого может быть разное для одного и того же клиента, должно конкатенироваться, например: до выборки: Bond a12 Bond g145 James d23 после выборки: Bond a12, g145 James d23 Возможно это с помощью SQL, и если - да, то как? Спасибо большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 19:05 |
|
||
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
По-моему с помощью SQL это реализовать нельзя. Самый простой вариант - сделать через DAO Или в запросе можно использовать VB функцию (тоже через DAO), которая будет возвращать конкатенированную строку для каждого клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 19:12 |
|
||
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
спасибо, у меня тоже были сомнения по этому поводу. Но вот какая ф-ция VBA подойдет для этой задачи? Дело в том, что количество строк, которые могут быть подвержены конкатенации - не ограничено. Т.е. возникает необходимость цикла. Если эта проблема не может быть решена подзапросом - прийдется делать это в модуле((. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 19:37 |
|
||
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
Но вот какая ф-ция VBA подойдет для этой задачи? Самописная конечно же. Если эта проблема не может быть решена подзапросом - прийдется делать это в модуле(( Именно в модуле это и надо делать, по другому никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 22:01 |
|
||
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
Одним запросом, насколько я знаю, не получится сделать, но в процедуре на T-Sql можно наваять используя функцию COALESCE Примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Возможно где-то ошибся (лень было таблицы создавать и проверять), но у меня такая схема на реальных данных работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2003, 12:11 |
|
||
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
http://hiprog.com/access/article.asp?id=334 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2003, 12:56 |
|
||
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
за вас все уже изобретено самим Microsoft метод GetString Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset rst.Open "SELECT Код, Клиент FROM Клиенты ORDER BY Клиент;", CurrentProject.Connection Список1.RowSource = rst.GetString(adClipString, , ";", ";") rst.Close ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2003, 13:04 |
|
||
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
2senn >Возможно это с помощью SQL, и если - да, то как? 2Mind >По-моему с помощью SQL это реализовать нельзя. В SQL это сделать можно: http://www.sql.ru/faq/faq_topic.aspx?fid=130 Мне к сожалению не известно, поддерживает ли этот синтаксис Jet SQL (то есть mdb) :(. Но в adp Вы сможете использовать это совершенно спокойно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2003, 14:30 |
|
||
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
>Некто Да это все тоже самое. просто в другом варианте. все равно приходится конкатенировать все записи вместе. нет готвых функций. только для рекордсетов есть готовая GetString ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2003, 14:58 |
|
||
|
Помогите, плз.!!! Вопрос по SQL! (подзапросы)
|
|||
|---|---|---|---|
|
#18+
2ДиД >Да это все тоже самое. просто в другом варианте. Возможно. Вопрос в том, что GetString работает на клиенте, а бывают случаи, когда подобную операцию необходимо сделать на сервере (или не жалательно проделывать на клиенте). Впрочем, полагаю, для автора топика этот вариант вообще может быть не актуален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2003, 18:44 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32120221&tid=1682102]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 322ms |

| 0 / 0 |
