Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня! Заранее прошу не пинать (в темен полный ноль) а помочь. Есть некая программа, которая после переноса базы с sql 2008 в sql 2017 при формировании отчета (Fast Reports) выдает ошибку - Неправильный синтаксис *= Нашел запрос который видимо ее вызывает: From question,persona, address,sp_organization,sp_area Where question.persona_id = persona.id and persona.address_ID = address.ID AND question.korr_code = sp_organization.code and address.area_code *= sp_area.code and question.date_reg >= :date and question.date_reg<= :date1 and question.date_do >= :date2 and question.date_do <= :date3 Видимо беда в этом: Ссылка Ребят помогите переделать данный запрос. Заранее, Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 10:19 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
faensi, *= в WHERE асолютно запрещено ещё в SQL2005! Необходимо просканировать все объекты в поисках *= и =* и заменить на LEFT JOIN и RIGHT JOIN соответственно во FROMе. С удовольствием вспоминаю, как я этим занимался целую неделю в 2005 году! Выполните: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 10:30 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Забыл сказать! Первым делом надо выбросить запятые из FROM. И переписать, используя разные виды JOIN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 10:32 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
iapЗабыл сказать! Первым делом надо выбросить запятые из FROM. И переписать, используя разные виды JOIN.Ни в коем случае не смешивайте JOINы и запятые в одном и том же FROM! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 10:33 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, тяжело понять((( Вот весь код: Select question.id, persona.fm,persona.im,persona.ot, question.date_reg,question.result_body, question.korr_num, dbo.GetGpNumPersona(question.persona_id,question.curyear) as gp, persona.email, question.date_reg,question.num,question.curyear,question.question_body,sp_organization.name,sp_area.name, isnull(case when rtrim(address.postindex)<>'' then rtrim(address.postindex)+', ' else '' end,'')+ isnull((select sp_oksmt.krnaim from sp_oksmt where sp_oksmt.kod=address.country_code),'')+', '+ isnull(case when not address.subject_code is null then (select sp_kladrw_name.name+' '+sp_socr.name+', ' from sp_kladrw_name,sp_kladrw,sp_socr where sp_kladrw.code=address.subject_code and sp_kladrw.socr_code = sp_socr.code and sp_kladrw.name_code = sp_kladrw_name.code) end,'')+ isnull(case when not address.raion_code is null then (select sp_kladrw_name.name+' '+sp_socr.name+', ' from sp_kladrw_name,sp_kladrw,sp_socr where sp_kladrw.code=address.raion_code and sp_kladrw.socr_code = sp_socr.code and sp_kladrw.name_code = sp_kladrw_name.code) end,'')+ isnull(case when not address.city_code is null then (select sp_socr.name+' '+sp_kladrw_name.name+', ' from sp_kladrw_name,sp_kladrw,sp_socr where sp_kladrw.code=address.city_code and sp_kladrw.socr_code = sp_socr.code and sp_kladrw.name_code = sp_kladrw_name.code) end,'')+ isnull(case when not address.settlement_code is null then (select sp_socr.name+' '+sp_kladrw_name.name+', ' from sp_kladrw_name,sp_kladrw,sp_socr where sp_kladrw.code=address.settlement_code and sp_kladrw.socr_code = sp_socr.code and sp_kladrw.name_code = sp_kladrw_name.code) end,'')+ isnull(case when not address.street_code is null then (select sp_socr.name+' '+sp_streetw_name.name+', ' from sp_streetw_name,sp_streetw,sp_socr where sp_streetw.code=address.street_code and sp_streetw.socr_code = sp_socr.code and sp_streetw.name_code = sp_streetw_name.code) end,'')+ isnull(case when address.dom<>'' then +rtrim(address.dom) else '' end,'')+ isnull(case when address.kor<>'' then '/'+rtrim(address.kor) else '' end,'')+ isnull(case when address.kvr<>'' then ', кв.'+rtrim(address.kvr) else '' end,'') as addr From question,persona, address,sp_organization,sp_area Where question.persona_id = persona.id and persona.address_ID = address.ID AND question.korr_code = sp_organization.code and address.area_code *= sp_area.code and question.date_reg >= :date and question.date_reg<= :date1 and question.date_do >= :date2 and question.date_do <= :date3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 10:39 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Парни ноль в этом, помогите поправить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 10:40 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
faensiПарни ноль в этом, помогите поправить Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 10:56 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
iapfaensiПарни ноль в этом, помогите поправить Код: sql 1. 2. 3. 4. 5. 6. 7. К сожалению теперь ошибка: Не удалось привязать составной идентификатор "question.id" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 11:04 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Если запрос сделать вида: FROM question JOIN persona ON question.persona_id = persona.id JOIN address ON persona.address_ID = address.ID JOIN sp_organization ON question.korr_code = sp_organization.code LEFT OUTER JOIN sp_area ON address.area_code = sp_area.code WHERE question.date_reg BETWEEN :date AND :date1 AND question.date_do BETWEEN :date2 AND :date3 Запрос отрабатывает, но корректно ли это? не приведет ли к другим проблемам такое исполнение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 12:46 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
faensi, btw синтаксис join также является устаревшим (сейчас используется указание inner join). На первый взгляд всё верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 13:07 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовfaensi, btw синтаксис join также является устаревшим (сейчас используется указание inner join). На первый взгляд всё верно. сами придумали ли где документ есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 13:12 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовfaensi, btw синтаксис join также является устаревшим (сейчас используется указание inner join). На первый взгляд всё верно.Чо за фигня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 13:36 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
faensiiapпропущено... Код: sql 1. 2. 3. 4. 5. 6. 7. К сожалению теперь ошибка: Не удалось привязать составной идентификатор "question.id"Заметьте: поля question.id я даже не писал! Зато скопипастил у вас question.persona_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 13:39 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
iapВладислав Колосовfaensi, btw синтаксис join также является устаревшим (сейчас используется указание inner join). На первый взгляд всё верно.Чо за фигня? https://docs.microsoft.com/ru-ru/sql/t-sql/queries/from-transact-sql?view=sql-server-2017 <join_type> ::= [ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ] JOINУ меня просто пока нет ссылки на более новый официальный Help. 2017 - уже устарело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 13:47 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Всем спасибо!!!!! Вроде все формирует как и требовалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 14:19 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
iap, встречал где-то... У меня память не энциклопедическая. В любом случае, bеst practices писать однотипно. TOP 1 также устаревшее, из этой же категории, надо писать TOP (1) в modern стиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 14:52 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовiap, встречал где-то... У меня память не энциклопедическая. В любом случае, bеst practices писать однотипно. TOP 1 также устаревшее, из этой же категории, надо писать TOP (1) в modern стиле. если разбавить фантазию ложкой правды, это всё оправдает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 15:01 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовiap, встречал где-то... У меня память не энциклопедическая. В любом случае, bеst practices писать однотипно. TOP 1 также устаревшее, из этой же категории, надо писать TOP (1) в modern стиле.Про TOP уже давно было официально объявлено. Как и про точку с запятой. А так дело вкуса... Писать INNER или OUTER или не писать? Писать AS в объявлении алиаса или нет? Надо ставить FROM перед именем таблицы в DELETE или нет? То же самое - с INTO в INSERTе и MERGE. Я, например, никогда не пишу лишнего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 15:25 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
iap, Прошу (аналогичной) вашей помощи, не удается правильно расписать: from persona p,question q,address,sp_clerk sc, sp_resulttype sr,filter f where q.id=f.id and f.name=:name and q.persona_id=p.id and p.address_id=address.id and q.kurator_code*=sc.code and q.result_code*=sr.code order by f.sort Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 17:35 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
iap, да, Вы правы, INNER является вспомогательным словом. Вопрос личных предпочтений и внутренних стандартов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 17:39 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
faensiiap, Прошу (аналогичной) вашей помощи, не удается правильно расписать: from persona p,question q,address,sp_clerk sc, sp_resulttype sr,filter f where q.id=f.id and f.name=:name and q.persona_id=p.id and p.address_id=address.id and q.kurator_code*=sc.code and q.result_code*=sr.code order by f.sort Спасибо! Парни может кто еще знает как переписать данный запрос, просим помогите поправить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 08:41 |
|
||
|
Неправильный синтаксис *=
|
|||
|---|---|---|---|
|
#18+
faensifaensiiap, Прошу (аналогичной) вашей помощи, не удается правильно расписать: from persona p,question q,address,sp_clerk sc, sp_resulttype sr,filter f where q.id=f.id and f.name=:name and q.persona_id=p.id and p.address_id=address.id and q.kurator_code*=sc.code and q.result_code*=sr.code order by f.sort Спасибо! Парни может кто еще знает как переписать данный запрос, просим помогите поправитьНо это же простая механическая задача. Тут даже головной мозг не нужен! Для таблиц, которые связываются условиями без звёздочек, запятую между ними заменяем на JOIN, а условия полей для этих таблиц записываем в ON. Если поля таблиц связываются оператором *=, то пишем LEFT JOIN, если =*, - RIGHT JOIN, если *=* - FULL JOIN. В ON записываем условия связи между соответствующими таблицами. Нельзя писать условия в WHERE для правой таблицы LEFT JOIN и для левой таблицы RIGHT JOIN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 10:20 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39787978&tid=1688090]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 394ms |

| 0 / 0 |
