![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL ; (СУБД - Access)
Silver_ © (2003-04-03 10:35:00)на этот запрос (t1 - мастер; t2, t3 - подробные)
SELECT t1.*
FROM tbl1 t1 INNER JOIN tbl2 t2 ON t1.fld1 = t2.fld1
INNER JOIN tbl3 T3 ON t1.fld2 = t3.fld1
такое вот ругательство
Sintax Error (missing operator) in query expression "t1.fld1 = t2.fld1
INNER JOIN Tbl3 T3 ON t1.fld2 = t3.fld1"
причем не выдает ошибки при следующем запросе:
SELECT t1.*
FROM tbl1 t1 INNER JOIN Tbl2 t2 ON t1.fld1 = t2.fld1 ,
tbl1 t4 INNER JOIN Tbl3 T3 ON t4 .fld2 = t3.fld1
второй вариант "плохо" выглядит, складывается ощущение что tbl1 открывается по одному разу для каждой подробной
Вопрос: Это СУБД такая, или может я чё не так делаю. А может опасения мои напрасны
и еще по простомув чем разница между
INNER JOIN, LEFT OUGHTER JOIN, RIGHT OUGHTER JOIN
sniknik (2003-04-03 15:32:00) [1]ну количество присоедененных записей, к "все", всегда будет или = или меньше.
Silver_ (2003-04-03 15:16:00) [2]ну не на стока коротко :))
> где не все там меняется
это как??
sniknik (2003-04-03 15:03:00) [3]непонятно? зато коротко!
sniknik (2003-04-03 15:02:00) [4]LEFT - слева все
RIGHT - справа все
где не все там меняется
Silver_ (2003-04-03 14:45:00) [5]
> sniknik © (03.04.03 10:49)
на счет вложености уже кое-что...
хотел КОРОТКО :) узнать в чем разниця между LEFT и RIGHT
Johnmen (2003-04-03 10:50:00) [6]С точки зрения синтаксиса, описанного в стандарте SQL92, запрос корректен. Если возникает ошибка, то это, видимо, специфика Аксеса...
Попробуй причесать бардак с регистром :)
Попробуй указыват односимвольные псевдонимы...
Попробуй ... что-нибудь еще ...:)))
sniknik (2003-04-03 10:49:00) [7]хелп
раздел "Операция INNER JOIN"
файл JETSQL40.CHM на компе с установленым офисом
+ рекомендуется раздел "Операции LEFT JOIN, RIGHT JOIN", "Инструкция SELECT"
(короче сам разбирайся :о)))
.....
Операции JOIN могут быть вложенными; в таком случае используйте следующий синтаксис:
SELECT поля
FROM таблица_1 INNER JOIN
(таблица_2 INNER JOIN [( ]таблица_3
[INNER JOIN [( ]таблица_X [INNER JOIN ...)]
ON таблица_3.поле_3 оператор таблица_X.поле_X)]
ON таблица_2.поле_2 оператор таблица_3.поле_3)
ON таблица_1.поле_1 оператор таблица_2.поле_2;
Операции LEFT JOIN или RIGHT JOIN могут быть вложены в операцию INNER JOIN, но операция INNER JOIN не может быть вложена в LEFT JOIN или RIGHT JOIN.
Silver_ (2003-04-03 10:41:00) [8]как к t1 - мастер; привентить t2, t3 - подробные
- первый пример ругается
- второй пример неправельно