Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / foxpro alias is not found / 9 сообщений из 9, страница 1 из 1
22.01.2014, 18:14
    #38534744
TEXHIK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foxpro alias is not found
SELECT car_list.name_drv, car_list.date_drv, car_type.type_name FROM car_list;
LEFT JOIN car_move ON car_move.code_car=car_list.code_car;
WHERE car_list.type_car IN (SELECT car_type.type_car FROM car_type WHERE car_type.type_sym='п' OR car_type.type_sym='м');
AND car_move.address LIKE ("%вокзал%") AND DOW(car_move.date_take) IN (2, 3);
GROUP BY car_list.name_drv, car_list.date_drv, car_type.type_name
ошибка: foxpro alias "Car_type" is not found

нужно штоб ето работало именно з подзапросом, ето условия лабораторной. Я не могу понять в чем дело
...
Рейтинг: 0 / 0
22.01.2014, 18:57
    #38534798
Ffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foxpro alias is not found
Ошибка означает: алиас Car_type не найден. Ищите таблицу.
...
Рейтинг: 0 / 0
22.01.2014, 18:58
    #38534802
TEXHIK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foxpro alias is not found
Ffffffffffffff,

ета таблица точно там есть
...
Рейтинг: 0 / 0
22.01.2014, 19:03
    #38534807
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foxpro alias is not found
TEXHIK,

попробуйте вставить перед запросом

wait window SELECT("Car_type")

и расскажите нам что произошло
...
Рейтинг: 0 / 0
22.01.2014, 19:06
    #38534812
TEXHIK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foxpro alias is not found
alextashk, вверху екрана справа показалось число 1
...
Рейтинг: 0 / 0
22.01.2014, 19:07
    #38534814
TEXHIK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foxpro alias is not found
SELECT car_list.name_drv, car_list.date_drv, car_type.type_name FROM car_list;
LEFT JOIN car_move ON car_move.code_car=car_list.code_car;
WHERE car_list.type_car IN (SELECT car_type.type_car FROM car_type WHERE car_type.type_sym='п' OR car_type.type_sym='м');
AND car_move.address LIKE ("%вокзал%") AND DOW(car_move.date_take) IN (2, 3);
GROUP BY car_list.name_drv, car_list.date_drv
когда пишу так, тоесть без последней групировки без car_type.type_name то работает, ну по крайней мере ошибок не выдает
...
Рейтинг: 0 / 0
22.01.2014, 20:52
    #38534906
Reese
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foxpro alias is not found
Предполагаю что должно быть что-то вроде:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT car_list.name_drv, car_list.date_drv, car_type_a.type_name ;
  FROM car_list;
  LEFT JOIN car_move ON car_move.code_car=car_list.code_car;
  INNER JOIN (SELECT car_type.type_car ;
                FROM car_type ;
                WHERE car_type.type_sym='п' OR car_type.type_sym='м') AS car_type_a ON car_list.type_car=car_type_a.type_car;
  WHERE car_move.address LIKE ("%вокзал%") ;
    AND DOW(car_move.date_take) IN (2, 3);
  GROUP BY car_list.name_drv, car_list.date_drv, car_type_a.type_name



Вы пытаетесь выбрать поле из таблицы car_type, но при этом не включив эту таблицу в запрос.
...
Рейтинг: 0 / 0
22.01.2014, 21:09
    #38534916
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foxpro alias is not found
Ваш запрос в "читабельном" виде

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT ;
	car_list.name_drv, ;
	car_list.date_drv, ;
	car_type.type_name ;
FROM car_list ;
LEFT JOIN car_move ON car_move.code_car=car_list.code_car ;
WHERE car_list.type_car IN (SELECT car_type.type_car ;
				FROM car_type ;
				WHERE car_type.type_sym='п' ;
					OR car_type.type_sym='м') ;
	AND car_move.address LIKE ("%вокзал%") ;
	AND DOW(car_move.date_take) IN (2, 3) ;
GROUP BY ;
	car_list.name_drv, ;
	car_list.date_drv, ;
	car_type.type_name


Так вот, можете, хотя бы сами себе, ответить на вопрос, откуда в результате выборки возьмутся значения таблицы car_type?

select ЧТО
from ОТКУДА
where КАКИЕ

Ваш запрос указывает ЧТО взять, но не содержит информации ОТКУДА взять в отношении таблицы car_type. Вот Вы и получаете сообщение об ошибке, что источник данных не указан.

Если обязательно нужен подзапрос по таблице car_type, то ее придется указывать дважды. И в подзапросе и как источник данных выборки

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT ;
	car_list.name_drv, ;
	car_list.date_drv, ;
	car_type.type_name ;
FROM car_list ;
INNER JOIN car_move ON car_move.code_car=car_list.code_car ;
INNER JOIN car_type ON car_list.type_car=car_type.type_car ;
WHERE car_list.type_car IN (SELECT type2.type_car ;
				FROM car_type type2 ;
				WHERE type2.type_sym in ('п','м')) ;
	AND car_move.address LIKE ("%вокзал%") ;
	AND DOW(car_move.date_take) IN (2, 3) ;
GROUP BY ;
	car_list.name_drv, ;
	car_list.date_drv, ;
	car_type.type_name
...
Рейтинг: 0 / 0
23.01.2014, 01:02
    #38535070
TEXHIK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foxpro alias is not found
Большое всем спасибо
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / foxpro alias is not found / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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