powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Объеденение в SELECT
17 сообщений из 17, страница 1 из 1
Объеденение в SELECT
    #38014876
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется таблица Фамилия , Имя, Отчество и т.д.

Нужно SELECT ом выбрать чтобы
получилось 1 колонка и там было "Фамилия Имя Отчество" и т.д.
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38014981
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT Поле1 & ' ' & Поле2
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38014982
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это, если, конечно, речь идет об SQL, но причем тут тогда Microsoft Office
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38015198
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

это макрос в Excel

автор sCon = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=""Excel 12.0;HDR=Yes;"";"

sSQL = "SELECT `Плательщики$`.INS_REG_NUM, " & _
"`Плательщики$`.INS_ARRANGE_PFR, " & _
"`Плательщики$`.INS_ZIP_CODE, " & _
"`Плательщики$`.INS_LAST_NAME & ' ' & `Плательщики$`.INS_FIRST_NAME, " & _
"`Плательщики$`.ADRES, " & _
"`Плательщики$`.Столбец1 " & _
"FROM `Плательщики$` `Плательщики$` " & _
"WHERE (`Плательщики$`.CT_ID>=89) " & _
"AND (`Плательщики$`.INS_UNARRANGE_DATE Is Null) " & _
"AND (`Плательщики$`.Столбец1=0) " & _
"ORDER BY `Плательщики$`.INS_ZIP_CODE, `Плательщики$`.NAME ;"

Set rs = New ADODB.Recordset



вот что красным светом это и есть нужные колонки
но вариант не подходит
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38015207
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так?
Код: vbnet
1.
"`Плательщики$`.INS_LAST_NAME " & " " & "`Плательщики$`.INS_FIRST_NAME, " & _


И еще - зачем везде использовать алиас 'Плательщики$', если он у вас всего один? В крайнем случае, используйте просто односимвольный, типа:
Код: vbnet
1.
2.
3.
sSQL = "SELECT a.INS_REG_NUM, a.INS_ARRANGE_PFR, a.INS_ZIP_CODE " & _
 "FROM `Плательщики$` a " & _
 "WHERE (a.CT_ID>=89)"
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38015208
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,

Кстати, соврал, задумавшись Попробовать:
Код: vbnet
1.
"`Плательщики$`.INS_LAST_NAME + CHR(32) + `Плательщики$`.INS_FIRST_NAME as FIO, " & _
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38015264
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,

ну в общем вариант не проходит
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38015275
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chumakov_JA,

Ну в общем вот для примера
нужно чтобы столбец В и С были в одной колонке
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38015312
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу надо было файл выложить
Код: vbnet
1.
2.
3.
4.
5.
 sSQL = "SELECT `Плательщики$`.INS_REG_NUM, " & _
        "`Плательщики$`.INS_LAST_NAME+"" ""+ " & _
        "`Плательщики$`.INS_FIRST_NAME, " & _
        "`Плательщики$`.STREET_NAME " & _
        "FROM `Плательщики$` `Плательщики$` ;"
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38015338
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Ну небольшое продолжение
пример был немного неудачный
если поле INS_LAST_NAME пустое то и поле INS_FIRST_NAME
считается пустым
а такое недолжно быть
как из этой ситуации выйти
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38015346
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
 sSQL = "SELECT `Плательщики$`.INS_REG_NUM, " & _
        "IIf(ISNULL(`Плательщики$`.INS_LAST_NAME),"""",`Плательщики$`.INS_LAST_NAME+"" "")+ " & _
        "`Плательщики$`.INS_FIRST_NAME, " & _
        "`Плательщики$`.STREET_NAME " & _
        "FROM `Плательщики$` `Плательщики$` ;"
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38017618
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Ну подскажите чем этот запрос Excel не нравится

автор sCon = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=""Excel 12.0;HDR=Yes;"";"

sSQL = "SELECT TOP " & kol & " `Плательщики$`.INS_REG_NUM, `Плательщики$`.NAME, Sum(`Платежи$`.PAY_SUM) AS 'Сумма из PAY_SUM " & _
"FROM {oj `Плательщики$` `Плательщики$` LEFT OUTER JOIN `Платежи$` `Платежи$` ON `Плательщики$`.INS_REG_NUM = `Платежи$`.INS_REG_NUM} " & _
"GROUP BY `Плательщики$`.INS_REG_NUM, `Плательщики$`.NAME" & _
"ORDER BY Sum(`Платежи$`.PAY_SUM) DESC ;"

Set rs = New ADODB.Recordset

On Error GoTo QUERY_ERROR
With rs
.Source = sSQL
.ActiveConnection = sCon
.CursorType = adOpenForwardOnly
.LockType = adLockReadOnly
.Open Options:=adCmdText
End With
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38017641
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, эксель выдает ошибку "не нравится мне этот запрос"???
Или все-таки текст у ошибки есть?

ЗЫ: и научитесь уже оформлять код на форуме - FAQ
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38017909
anvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Chumakov_JA
Насколько понимаю, вы конструируете запросы в Microsoft Query, а используете несколько другой провайдер Provider=Microsoft.ACE.OLEDB.12.0 - движок Access 2007-2010. Самое простое, посмотреть, каков синтаксис SQL, загрузить ваши таблицы в базу данных Access и построить запросы прямым тасканием полей в мастере построения запросов, аналогично Microsoft Query. И, следовательно, использовать этот синтаксис. Применительно к листам рабочей книги Excel ваш запрос выглядит так
Код: vbnet
1.
2.
3.
4.
sSQL = "SELECT TOP " & kol & " t1.INS_REG_NUM,t1.[NAME], Sum(t2.PAY_SUM) AS [Сумма из PAY_SUM] " & _
"FROM [Плательщики$] As t1 LEFT JOIN [Платежи$] As t2 ON (t1.INS_REG_NUM=t2.INS_REG_NUM) " & _
"GROUP BY t1.INS_REG_NUM,t1.[NAME]" & _
"ORDER BY Sum(t2.PAY_SUM) DESC"


К сожалению, вы не выложили файл, чтобы протестировать запрос.
Следующее замечание, по тому файлу, который вы выложили здесь. Файл формата xlsm. Зачем вы изменили ему расширение? Вы таким образом пытались обмануть Provider=Microsoft.Jet.OLEDB.4.0 ?
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38019317
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvg,

Огромное СПАСИБО.

я строю запросы в Query
потому что у меня Офис Стандартный там нету Access
а вот литературу по запросам SQL ненайти.
а так хочется.
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38019318
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chumakov_JAа вот литературу по запросам SQL ненайти.ого. "А мужики-то не знают...." (с)
...
Рейтинг: 0 / 0
Объеденение в SELECT
    #38019325
портер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Chumakov_JA ...
я строю запросы в Query
потому что у меня Офис Стандартный там нету Access
а вот литературу по запросам SQL ненайти.
а так хочется.
Поставь себе бесплатный ORACLE XE 10/11g, скидывай туда эксельные таблички и юзай запросы SQL со всеми делами, кот-х в SQL JET, - эксельный и акцессный диалект СКЛ, - нету.
А литературу по SQL можно найти в гугле. М. Грабер. Введение в SQL вполне хорошая книга.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Объеденение в SELECT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]