Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с join 
:(
    Опции темы
Алексей
Дата 4.2.2009, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 19.6.2006

Репутация: нет
Всего: нет



Код

select * from(

 
 (
   (select summa_pay,doc_date,ID_SUBJECT_RETAIL  from indoc where id_subject=20) as A 
 
    join 
 
     (select summa_pay,doc_date,ID_SUBJECT_RETAIL from indoc where id_subject=21) as B 
 
     on A.doc_date=B.doc_date
 
)  as C 
 
join 
 
(select NO366,ID_SUBJECT from STORE where id_subject = 20 or id_subject = 21) as D 
 
on C.ID_SUBJECT_RETAIL = D.ID_SUBJECT
 )


Пишет некорректный синтаксис около as
PM MAIL   Вверх
Akella
Дата 4.2.2009, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



у тебя получается так (если не использовать вложенный запрос)  smile 
Код
select id, name from table as c


Добавлено через 1 минуту и 48 секунд
Малого, того, у тебя 2 as smile, нужно обычно писать конкретно, где ошибка. Хотя в твоём запросе и так видно, что в первом случае.
Если не знаешь, что такое as, и как его использовать, то поищи по форуму примеры и почитай про as.
PM MAIL   Вверх
Алексей
Дата 4.2.2009, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 19.6.2006

Репутация: нет
Всего: нет



Эээ? Не понял smile 

Вроде бы у меня так

Код

select * from ((table1 as A join table2 as B) as C join table3 as D)


P.S. да в том то и дело что раньше проблем не было, а тут просто наважденье какое-то. Ни хрена не вижу smile 

Это сообщение отредактировал(а) Алексей - 4.2.2009, 17:32
PM MAIL   Вверх
vladimir74
Дата 4.2.2009, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 28.11.2006

Репутация: нет
Всего: 3



Цитата(Алексей @  4.2.2009,  15:18 Найти цитируемый пост)
Пишет некорректный синтаксис около as 

а помойму правильно пишет...
Цитата(Алексей @  4.2.2009,  15:28 Найти цитируемый пост)
Вроде бы у меня так
Код

select * from ((table1 as A join table2 as B) as C join table3 as D)


и что это должно означать? откуда должны браться данные? из какой нерваны?
да и если куски смотреть в отдельности, там тоже страшно становится...
Код

 ((table1 as A join table2 as B) as C join table3 as D)

join чего с чем? по каким связям?

--------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ.
PM MAIL   Вверх
Akella
Дата 4.2.2009, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



а после as C поставь скобку
PM MAIL   Вверх
vladimir74
Дата 4.2.2009, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 28.11.2006

Репутация: нет
Всего: 3



а кстати что вообще должно получиться?
--------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ.
PM MAIL   Вверх
Akella
Дата 4.2.2009, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329




M
Akella
название темы должно отражать её суть
, а у тебя проблемы с синтаксисом, с as, а ты пишешь, что проблемы с join
PM MAIL   Вверх
Алексей
Дата 4.2.2009, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 19.6.2006

Репутация: нет
Всего: нет




Код

join чего с чем? по каким связям?



А вы сам пост читали?

Я просто опустил связи, что короче было.


PM MAIL   Вверх
Akella
Дата 4.2.2009, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



да, запрос вобщетта страшненький  smile , бедный сервер
PM MAIL   Вверх
Алексей
Дата 4.2.2009, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 19.6.2006

Репутация: нет
Всего: нет



Ну да знаю) Скобка не помогла
PM MAIL   Вверх
skyboy
Дата 4.2.2009, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260



Цитата(Алексей @  4.2.2009,  16:40 Найти цитируемый пост)
Я просто опустил связи, что короче было.

проблема не в упущенных связях.
а в упущенном списке полей.
т.е. должно быть примерно так:
Код

select * from(
 
 (
    SELECT *
    FROM

   (select summa_pay,doc_date,ID_SUBJECT_RETAIL  from indoc where id_subject=20) as A 
 
    join 
 
     (select summa_pay,doc_date,ID_SUBJECT_RETAIL from indoc where id_subject=21) as B 
 
     on A.doc_date=B.doc_date
 
)  as C 
 
join 
 
(select NO366,ID_SUBJECT from STORE where id_subject = 20 or id_subject = 21) as D 
 
on C.ID_SUBJECT_RETAIL = D.ID_SUBJECT
 )

PM MAIL   Вверх
Akella
Дата 4.2.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



А вообще к какому полю или выборке у тебя привязано as C ?
PM MAIL   Вверх
skyboy
Дата 4.2.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260



Цитата(Akella @  4.2.2009,  16:24 Найти цитируемый пост)
у тебя получается так (если не использовать вложенный запрос) 

нет, у него, скорее, так:
Код

from <table> as c

во вложенном запросе

Добавлено через 1 минуту и 1 секунду
а, да. ещё раз перечисление полей пропустил я.
Код

select * from(
    SELECT *
    FROM
 (
    SELECT *
    FROM
   (select summa_pay,doc_date,ID_SUBJECT_RETAIL  from indoc where id_subject=20) as A 
 
    join 
 
     (select summa_pay,doc_date,ID_SUBJECT_RETAIL from indoc where id_subject=21) as B 
 
     on A.doc_date=B.doc_date
 
)  as C 
 
join 
 
(select NO366,ID_SUBJECT from STORE where id_subject = 20 or id_subject = 21) as D 
 
on C.ID_SUBJECT_RETAIL = D.ID_SUBJECT
 )

а запрос страшный, да.
PM MAIL   Вверх
Akella
Дата 4.2.2009, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Вроде нашёл недостающую скобку

Цитата

select * from(
 
 (
    SELECT *
    FROM(


   (select summa_pay,doc_date,ID_SUBJECT_RETAIL  from indoc where id_subject=20) as A 
 
    join 
 
     (select summa_pay,doc_date,ID_SUBJECT_RETAIL from indoc where id_subject=21) as B 
 
     on A.doc_date=B.doc_date
 
)  as C
 
join 
 
(select NO366,ID_SUBJECT from STORE where id_subject = 20 or id_subject = 21) as D 
 
on C.ID_SUBJECT_RETAIL = D.ID_SUBJECT
 )



Добавлено через 46 секунд
Цитата(skyboy @  4.2.2009,  17:46 Найти цитируемый пост)
Цитата(Akella @  4.2.2009,  16:24 Найти цитируемый пост)
у тебя получается так (если не использовать вложенный запрос) 

нет, у него, скорее, так:
Выделить всёкод SQL
1:
    
from <table> as c

во вложенном запросе

ага, это в первом моём ответе
PM MAIL   Вверх
Алексей
Дата 4.2.2009, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 19.6.2006

Репутация: нет
Всего: нет



skyboy, Спасибо большое. Помогло. Жаль плюсик не могу поставить! Akella, и вам спасибо)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0629 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.