Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / вложенный select с retrival argument / 11 сообщений из 11, страница 1 из 1
28.04.2008, 08:07
    #35282679
halfboot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
Доброго времени суток.
Работаю на PowerBuider 9.0.3, MS SQL 2005, драйвер ODBC.
Есть DW со следующим запросом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  SELECT tin_tp + tax_code,   
         person_type  
    FROM temp_accnt  
   WHERE (tin_tp = :tin AND appeal_status = 'A' ) AND  
         ( tin_tp + tax_code in (  SELECT tin_tp + tax_code  
                                                                    FROM temp_accnt  
                                                                   WHERE (tin_tp = :tin AND appeal_status = 'C')   
                                                                GROUP BY tin_tp + tax_code ))   
GROUP BY tin_tp + tax_code,   
         person_type  
ORDER BY tin_tp + tax_code ASC 

При выполнении выдает ошибку: Ошибка синтаксиса или нарушение доступа.
Запрос отрабатывает, если изменить retrival argument во вложенном select на нужное значение.
С драйверами MSS и OLEDB все работает нормально.
В приложении уже используется ODBC и не хотелось бы переходить на другой драйвер. Что можете посоветовать?
Заранее благодарен.
...
Рейтинг: 0 / 0
28.04.2008, 09:52
    #35282793
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
А какие запросы PB реально на сервер отсылает в случае с ODBC и например MSS?
...
Рейтинг: 0 / 0
28.04.2008, 10:14
    #35282829
sPaul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
методически проблема довольно интересная... но может проще переписать запрос с использованием join?
...
Рейтинг: 0 / 0
28.04.2008, 10:24
    #35282854
halfboot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
Локшин Марк
В SQL server profiler посмотрел переданный Select. Для MSS это

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT tin_tp + tax_code,   
         person_type  
    FROM temp_accnt  
   WHERE (tin_tp = '01201200110156' AND appeal_status = 'A' ) AND  
         ( tin_tp + tax_code in (  SELECT tin_tp + tax_code  
                                                                    FROM temp_accnt  
                                                                   WHERE (tin_tp = '01201200110156' AND appeal_status = 'C')   
                                                                GROUP BY tin_tp + tax_code ))   
GROUP BY tin_tp + tax_code,   
         person_type  
ORDER BY tin_tp + tax_code ASC 

для ОДБС не увидел. Может быть не там смотрю?
...
Рейтинг: 0 / 0
28.04.2008, 11:44
    #35283107
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
halfbootдля ОДБС не увидел. Может быть не там смотрю?
Ну можно еще в управлении ODBC включить трассировку и посмотреть что PB за запросы туда шлет - по всей вероятности ошибка где-то на уровне ODBC драйвера возникает...
Можно попробовать изменить запрос каким-либо образом например cast(:tin as varchar(255)) или еще как.
...
Рейтинг: 0 / 0
28.04.2008, 12:28
    #35283216
halfboot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
авторнапример cast(:tin as varchar(255))
не помогло.

Запрос изменен следующим образом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT distinct a.tin_tp + a.tax_code,   
         a.person_type  
    FROM temp_accnt a, temp_accnt b
WHERE a.tin_tp = :tin and a.appeal_status = 'A' and
  a.tin_tp = b.tin_tp and a.tax_code = b.tax_code and
  b.appeal_status = 'C'
    
ORDER BY a.tin_tp + a.tax_code ASC

В таком виде успешно отработан на ODBC, OLEDB и MSS драйверах.
...
Рейтинг: 0 / 0
29.04.2008, 12:18
    #35285360
umnik_net
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
А не подскажете, вообще, вложенные запросы имеют место быть под 2005?
Вопрос непраздный: переходим с SQL2000 на 2005 под Native Client.
...
Рейтинг: 0 / 0
29.04.2008, 12:25
    #35285397
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
Вложенные запросы имеют место быть уже очень давно, так что никуда они не делись. Да и приведенный пример говорит о том, что все в порядке.
...
Рейтинг: 0 / 0
30.04.2008, 09:49
    #35287691
umnik_net
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
У нас практически все подзапросы по условию where вышибает с сообщением "ошибка синтаксиса . код 3700".
Причем вышибает именно билдер, SQL отрабатывает как надо.
Может, Native Client виноват? или к нему что-то еще надо?
...
Рейтинг: 0 / 0
30.04.2008, 10:58
    #35287944
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
umnik_netУ нас практически все подзапросы по условию where вышибает с сообщением "ошибка синтаксиса . код 3700".
Причем вышибает именно билдер, SQL отрабатывает как надо.
Может, Native Client виноват? или к нему что-то еще надо?

Это вам в ЖЕК обращаться надо :)
...
Рейтинг: 0 / 0
30.04.2008, 17:29
    #35289381
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вложенный select с retrival argument
Anatoly MoskovskyЭто вам в ЖЕК обращаться надо :)
А уши, как я понимаю, растут из попытки парсить запрос
Код: plaintext
select field from t where id = :id
и получения типа параметров конструировать запросы типа
Код: plaintext
select id from t where  1 = 2 
Как запрос чуть сложнее (используем подзапросы) - так приплыли...
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / вложенный select с retrival argument / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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