Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/88: Рейтинг темы: голосов - 88, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 22

"Неправильный синтаксис около ключевого слова FROM" при выполнении запроса

18.10.2016, 20:14. Показов 18135. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот скрипт базы данных:
Кликните здесь для просмотра всего текста
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
 DROP TABLE BAGGAGE_SORT;
DROP TABLE BAGGAGE;
DROP TABLE BAGGAGE_TYPE;
DROP TABLE TICKET;
DROP TABLE PASSENGER;
DROP TABLE PASSENGER_STATUS;
DROP TABLE FLIGHT_CLASS;
DROP TABLE CREW;
DROP TABLE EMPLOYEE;
DROP TABLE JOB;
DROP TABLE FLIGHT;
DROP TABLE COURSE;
DROP TABLE AIRPORT;
DROP TABLE AIRPORT_NAMES;
DROP TABLE FLIGHT_STATUS;
DROP TABLE AIRPLANE;
DROP TABLE BRAND_NAME;
DROP TABLE AIRLINE;
DROP TABLE COUNTRY;
CREATE TABLE [AIRPLANE] (
    places_number INT NOT NULL  ,
    airplane_number INT NOT NULL,
    brand_name_id INT NOT NULL,
    speed INT NOT NULL,
    max_dist INT NOT NULL,
    airplane_id INT NOT NULL PRIMARY KEY,
    airline_id INT NOT NULL,
);
GO
CREATE TABLE [COURSE] (
    departure_airport_id INT NOT NULL,
    arrival_airport_id INT NOT NULL,
    inside_country BINARY NOT NULL,
    course_id INT NOT NULL PRIMARY KEY,
);
GO
CREATE TABLE [FLIGHT] (
    flight_id INT NOT NULL PRIMARY KEY,
    departure_date datetime NOT NULL,
    arrival_date datetime NOT NULL,
    airline_id INT NOT NULL,
    airplane_id INT NOT NULL,
    course_id INT NOT NULL,
    flight_status_id INT NOT NULL,
);
GO
CREATE TABLE [AIRLINE] (
    airline_id INT NOT NULL PRIMARY KEY,
    airline_name VARCHAR(25) NOT NULL,
    country_id INT NOT NULL,
);
GO
CREATE TABLE [EMPLOYEE] (
    worker_id INT NOT NULL PRIMARY KEY,
    first_name VARCHAR (25) NOT NULL,
    last_name VARCHAR (25) NOT NULL,
    job_id INT  NOT NULL,
);
GO
CREATE TABLE [PASSENGER] (
    passenger_id INT NOT NULL PRIMARY KEY,
    last_name VARCHAR (25) NOT NULL,
    first_name VARCHAR (25) NOT NULL,
    passenger_status_id INT NOT NULL,
    passport BIGINT NOT NULL,
 );
GO
CREATE TABLE [TICKET] (
    ticket_id INT NOT NULL PRIMARY KEY,
    price INT NOT NULL,
    flight_class_id INT NOT NULL,
    passenger_id INT NOT NULL,
    flight_id INT NOT NULL,
 );
GO
CREATE TABLE [BAGGAGE_TYPE] (
    baggage_type_id INT NOT NULL PRIMARY KEY,
    baggage_type VARCHAR (20) NOT NULL,
  );
GO
CREATE TABLE [BRAND_NAME] (
    brand_name_id INT NOT NULL PRIMARY KEY,
    brand_name VARCHAR (25) NOT NULL,
 );
GO
CREATE TABLE [FLIGHT_CLASS] (
    flight_class_id INT NOT NULL PRIMARY KEY,
    flight_class VARCHAR (4) NOT NULL,
 );
GO
CREATE TABLE [AIRPORT_NAMES] (
    airport_name_id INT NOT NULL PRIMARY KEY,
    airport_name VARCHAR (25) NOT NULL,
 );
GO
 
CREATE TABLE [PASSENGER_STATUS] (
    passenger_status_id INT NOT NULL PRIMARY KEY,
    STATUS VARCHAR (15) NOT NULL ,
);
GO
CREATE TABLE [FLIGHT_STATUS] (
    flight_status_id INT NOT NULL PRIMARY KEY,
    flight_status VARCHAR (20) NOT NULL ,
 );
GO
CREATE TABLE [BAGGAGE] (
    baggage_id INT NOT NULL PRIMARY KEY,
    baggage_type_id INT NOT NULL,
    baggage_weight INT NOT NULL,
    baggage_class INT NOT NULL,
 );
GO
CREATE TABLE [BAGGAGE_SORT] (
    passenger_id INT NOT NULL,
    baggage_id INT NOT NULL,
    PRIMARY KEY (passenger_id,baggage_id),
);
GO
CREATE TABLE [AIRPORT] (
    airport_id INT NOT NULL PRIMARY KEY,
    airport_name_id INT NOT NULL,
);
GO
CREATE TABLE [CREW] (
    worker_id INT NOT NULL,
    flight_id INT NOT NULL,
    PRIMARY KEY (worker_id,flight_id),
 );
GO 
CREATE TABLE [COUNTRY] (
    country_id INT NOT NULL PRIMARY KEY,
    country VARCHAR (15) NOT NULL,
 );
GO  
CREATE TABLE [JOB] (
 job_id INT NOT NULL PRIMARY KEY,
 name VARCHAR (17)
 );
 
 
 ALTER TABLE [AIRPLANE] ADD
 FOREIGN KEY (brand_name_id)
 REFERENCES BRAND_NAME (brand_name_id),
 FOREIGN KEY (airline_id)
 REFERENCES AIRLINE (airline_id)
 
 ALTER TABLE [COURSE] ADD
 FOREIGN KEY (departure_airport_id)
 REFERENCES AIRPORT (airport_id),
 FOREIGN KEY (arrival_airport_id)
 REFERENCES AIRPORT (airport_id)
 
 ALTER TABLE [FLIGHT] ADD
 FOREIGN KEY (course_id)
 REFERENCES [COURSE] (course_id),
 FOREIGN KEY (flight_status_id)
 REFERENCES FLIGHT_STATUS (flight_status_id),
 FOREIGN KEY (airline_id)
 REFERENCES AIRLINE (airline_id),
 FOREIGN KEY (airplane_id)
 REFERENCES AIRPLANE (airplane_id)
 
 ALTER TABLE [AIRLINE] ADD
 FOREIGN KEY (country_id)
 REFERENCES COUNTRY (country_id)
 
 ALTER TABLE [EMPLOYEE] ADD 
 FOREIGN KEY  (job_id)
 REFERENCES  JOB (job_id)
 
 ALTER TABLE [PASSENGER] ADD 
 FOREIGN KEY (passenger_status_id)
 REFERENCES PASSENGER_STATUS (passenger_status_id)
 
 ALTER TABLE [TICKET] ADD
 FOREIGN KEY (passenger_id)
 REFERENCES PASSENGER (passenger_id),
 FOREIGN KEY (flight_id)
 REFERENCES FLIGHT (flight_id),
 FOREIGN KEY (flight_class_id)
 REFERENCES FLIGHT_CLASS (flight_class_id)
 
 ALTER TABLE [BAGGAGE] ADD 
 FOREIGN KEY (baggage_type_id)
 REFERENCES BAGGAGE_TYPE (baggage_type_id)
 
 ALTER TABLE [BAGGAGE_SORT] ADD
 FOREIGN KEY (baggage_id)
 REFERENCES BAGGAGE (baggage_id)
 
 ALTER TABLE [AIRPORT] ADD
 FOREIGN KEY (airport_name_id)
 REFERENCES AIRPORT_NAMES (airport_name_id)
 
 
 INSERT INTO COUNTRY VALUES (1,'РОССИЯ');
 INSERT INTO COUNTRY VALUES (2,'США');
 INSERT INTO COUNTRY VALUES (3,'ФРАНЦИЯ');
 INSERT INTO COUNTRY VALUES (4,'ГЕРМАНИЯ');
 INSERT INTO COUNTRY VALUES (5,'ШВЕЙЦАРИЯ');
 INSERT INTO COUNTRY VALUES (6,'АВСТРАЛИЯ');
 
 
 INSERT INTO BRAND_NAME VALUES (20,'ЭЙРБАС');
 INSERT INTO BRAND_NAME VALUES (21,'ЭЙРСПИД');
 INSERT INTO BRAND_NAME VALUES (22,'БОИНГ');
 INSERT INTO BRAND_NAME VALUES (23,'БРИТТЕН-НОРМАНН');
 INSERT INTO BRAND_NAME VALUES (24,'ЯК');
 INSERT INTO BRAND_NAME VALUES (25,'ТУ');
 INSERT INTO BRAND_NAME VALUES (26,'СУХОЙ');
 INSERT INTO BRAND_NAME VALUES (27,'ЮНКЕРС');
 INSERT INTO BRAND_NAME VALUES (28,'ИЛ');
 INSERT INTO BRAND_NAME VALUES (29,'БОМБАРДИЕР');
 INSERT INTO BRAND_NAME VALUES (30,'МИЦУБИШИ');
 
 INSERT INTO JOB VALUES (40,'БОРТПРОВОДНИК');
 INSERT INTO JOB VALUES (41,'ВТОРОЙ_ПИЛОТ');
 INSERT INTO JOB VALUES (42,'СТЮАРД');
 INSERT INTO JOB VALUES (43,'РАДИСТ');
 INSERT INTO JOB VALUES (44,'КАПИТАН');
 
 INSERT INTO FLIGHT_STATUS VALUES (50,'ПЕРЕНЕСЕН');
 INSERT INTO FLIGHT_STATUS VALUES (51,'ПРИБЫВАЕТ');
 INSERT INTO FLIGHT_STATUS VALUES (52,'ОТЛОЖЕН');
 INSERT INTO FLIGHT_STATUS VALUES (53,'ОТПРАВЛЯЕТСЯ');
 INSERT INTO FLIGHT_STATUS VALUES (54,'ОТМЕНЕН');
 
 INSERT INTO PASSENGER_STATUS VALUES (60,'НА_БОРТУ');
 INSERT INTO PASSENGER_STATUS VALUES (61,'НЕ_НА_БОРТУ');
 INSERT INTO PASSENGER_STATUS VALUES (62,'НЕ_РЕГИСТР');
 INSERT INTO PASSENGER_STATUS VALUES (63,'РЕГИСТР');
 
 INSERT INTO AIRPORT_NAMES VALUES (70,'ШЕРЕМЕТЬЕВО');
 INSERT INTO AIRPORT_NAMES VALUES (71,'ДОМОДЕДОВО');
 INSERT INTO AIRPORT_NAMES VALUES (72,'ХИТРОУ');
 INSERT INTO AIRPORT_NAMES VALUES (73,'ПЕКИНСКИЙ');
 INSERT INTO AIRPORT_NAMES VALUES (74,'КЕННЕДИ');
 INSERT INTO AIRPORT_NAMES VALUES (75,'АТЛАНТА');
 INSERT INTO AIRPORT_NAMES VALUES (76,'КЭПИТАЛ');
 INSERT INTO AIRPORT_NAMES VALUES (77,'ИНТЕРНАСИОНАЛЬ');
 INSERT INTO AIRPORT_NAMES VALUES (78,'ДУГЛАС');
 INSERT INTO AIRPORT_NAMES VALUES (79,'СОЕКАМО_ХАТТА');
 
 INSERT INTO FLIGHT_CLASS VALUES (80,'ЭКОН');
 INSERT INTO FLIGHT_CLASS VALUES (81,'ПЕРВ');
 INSERT INTO FLIGHT_CLASS VALUES (82,'ПРЕМ');
 INSERT INTO FLIGHT_CLASS VALUES (83,'БИЗН');
 
 INSERT INTO BAGGAGE_TYPE VALUES (90,'ХРУПКИЙ');
 INSERT INTO BAGGAGE_TYPE VALUES (91,'КАРГО');
 INSERT INTO BAGGAGE_TYPE VALUES (92,'ТОКСИЧ');
 INSERT INTO BAGGAGE_TYPE VALUES (93,'ЖИДКОСТЬ');
 INSERT INTO BAGGAGE_TYPE VALUES (94,'ЖИВОТНЫЕ');
 
 INSERT INTO EMPLOYEE VALUES (100,'ДЖОН','СМИТ',40);
 INSERT INTO EMPLOYEE VALUES (101,'ДЖЕК','АНДЕРСЕН',41);
 INSERT INTO EMPLOYEE VALUES (102,'ИВАН','ПЕТРОВ',42);
 INSERT INTO EMPLOYEE VALUES (103,'ПАМЕЛА','АНДЕРСОН',43);
 INSERT INTO EMPLOYEE VALUES (104,'ФИЛИПЕ','КОУТИНЬО',44);
 INSERT INTO EMPLOYEE VALUES (105,'КРИСТЕН','ДЖЕКСОН',40);
 INSERT INTO EMPLOYEE VALUES (106,'ОЛЕГ','ТИНЬКОВ',41);
 INSERT INTO EMPLOYEE VALUES (107,'КРИШТИАНУ','РОНАЛДУ',42);
 INSERT INTO EMPLOYEE VALUES (108,'ВЕЙН','РУНИ',43);
 INSERT INTO EMPLOYEE VALUES (109,'РОМАН','ШИРОКОВ',44);
 
 INSERT INTO AIRLINE VALUES (110,'АЭРОФЛОТ',1);
 INSERT INTO AIRLINE VALUES (111,'ПАНЭМ',2);
 INSERT INTO AIRLINE VALUES (112,'ЭЙР_ФРАНС',3);
 INSERT INTO AIRLINE VALUES (113,'БУНДЕСФЛЁГ',4);
 INSERT INTO AIRLINE VALUES (114,'ШВИЦ_ЭЙР',5);
 INSERT INTO AIRLINE VALUES (115,'АУ_ЭЙР',6);
 
 INSERT INTO AIRPLANE VALUES (120,111,20,700,10000,140,110);
 INSERT INTO AIRPLANE VALUES (130,112,21,760,9500,141,111);
 INSERT INTO AIRPLANE VALUES (100,113,22,725,9000,142,112);
 INSERT INTO AIRPLANE VALUES (210,114,23,750,9000,143,113);
 INSERT INTO AIRPLANE VALUES (250,115,24,800,10000,144,114);
 INSERT INTO AIRPLANE VALUES (110,117,20,700,10000,145,115);
 
 INSERT INTO AIRPORT VALUES (160,70);
 INSERT INTO AIRPORT VALUES (161,71);
 INSERT INTO AIRPORT VALUES (162,72);
 INSERT INTO AIRPORT VALUES (163,73);
 INSERT INTO AIRPORT VALUES (164,74);
 INSERT INTO AIRPORT VALUES (165,75);
 INSERT INTO AIRPORT VALUES (166,76);
 INSERT INTO AIRPORT VALUES (167,77);
 INSERT INTO AIRPORT VALUES (168,78);
 INSERT INTO AIRPORT VALUES (169,79);
 
 INSERT INTO COURSE VALUES (160,161,1,170);
 INSERT INTO COURSE VALUES (161,162,0,171);
 INSERT INTO COURSE VALUES (162,163,0,172);
 INSERT INTO COURSE VALUES (163,164,0,173);
 
 
 INSERT INTO FLIGHT VALUES (180, '19.02.2013', '21.02.2013',110, 140, 170,50);
 INSERT INTO FLIGHT VALUES (181, '17.07.2013', '28.07.2013',111, 141, 171,51);
 INSERT INTO FLIGHT VALUES (182, '14.08.2013', '15.08.2013',112, 142, 172,51);
 INSERT INTO FLIGHT VALUES (183, '19.09.2013', '19.09.2013',113, 143, 173,52);
 INSERT INTO FLIGHT VALUES (184, '01.06.2013', '01.06.2013',114, 144, 171,53);
 INSERT INTO FLIGHT VALUES (185, '21.10.2013', '21.10.2013',115, 145, 172,51);
 
 INSERT INTO PASSENGER VALUES (190 , 'ИВАН' , 'БРОВКИН', 60, 111111);
 INSERT INTO PASSENGER VALUES (191 , 'ДЖЕК' , 'ТОМПСОН', 60, 111112);
 INSERT INTO PASSENGER VALUES (192 , 'ДАНИИЛ' , 'ЧЕРНЕНКО', 62, 111113);
 INSERT INTO PASSENGER VALUES (193 , 'ДЖОННАТАН' , 'РАЙТ', 63, 111114);
 INSERT INTO PASSENGER VALUES (194 , 'ЛИОНЕЛЬ' , 'МЕССИ', 63, 111115);
 INSERT INTO PASSENGER VALUES (195 , 'АЛЕКСАНДР' , 'ФЕРГЮСОН', 62, 111116);
 INSERT INTO PASSENGER VALUES (196 , 'АЛЕКСАНДР' , 'МОСИН', 61, 111117);
 
 INSERT INTO TICKET VALUES (200, 2000, 80, 190,181);
 INSERT INTO TICKET VALUES (201, 2500, 81, 191,182);
 INSERT INTO TICKET VALUES (202, 20000, 82, 192,183);
 INSERT INTO TICKET VALUES (203, 23000, 80, 193,184);
 INSERT INTO TICKET VALUES (204, 22000, 82, 194,182);
 INSERT INTO TICKET VALUES (205, 10000, 82, 195,181);
 INSERT INTO TICKET VALUES (206, 12000, 83, 196,182);
 INSERT INTO TICKET VALUES (207, 223000, 80, 192,183);
 INSERT INTO TICKET VALUES (208, 223000, 81, 191,184);

Итак, необходимо выполнить следующие запросы:
Кликните здесь для просмотра всего текста

1.Определить среднее рассчетное время полета для самолета 'CУ-24' для международных перевозок
2.Выбрать марку самолета, которая чаще всего используется на внутренних рейсах.
3.Выбрать маршрут/маршруты, по которым чаще всего летают рейсы, заполненные менее, чем на 70%.
4.Определить наличие свободных мест на рейс №354 23 августа 2004г.


Я сделал первый запрос, но sql ругается на непр. синтаксис около FROM :
SQL
1
2
3
4
5
6
7
SELECT ((avg(DATEDIFF(dd,departure_date,arrival_date)))/cnt)
(SELECT COUNT (FLIGHT.flight_id) AS cnt 
FROM FLIGHT, COURSE
WHERE COURSE.inside_country=0)
FROM COURSE, AIRPLANE, FLIGHT, BRAND_NAME
  WHERE COURSE.inside_country=0 
   AND BRAND_NAME.brand_name='СУХОЙ'
В чем проблема? И также нужна помощь с остальными запросами. Заранее благодарю.
Миниатюры
"Неправильный синтаксис около ключевого слова FROM" при выполнении запроса  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.10.2016, 20:14
Ответы с готовыми решениями:

Неправильный синтаксис около ключевого слова THEN
Создаю триггер, устанавливаю условие, а при компилировании выдает ошибку :( Участок кода: IF ((SELECT Животное.ВидЖивотного FROM...

Неправильный синтаксис около ключевого слова Values
Здравствуйте! Помогите, пожалуйста решить задачку: Есть 3 таблицы, связанные связью 'многое-ко-многим': Readers(читатели),...

Неправильный синтаксис около ключевого слова "UPDATE"
Неправильный синтаксис около ключевого слова "UPDATE". В чем ошибка? CREATE FUNCTION dbo.zakaza_1 (@InEmpID INTEGER) RETURNS...

7
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
18.10.2016, 23:00
Лучший ответ Сообщение было отмечено ubertinderkid как решение

Решение

Насколько понял задание и структуру БД запрос среднее время в часах.
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT 
CAST(avg(DATEDIFF(HH,departure_date,arrival_date)) AS FLOAT) /
CASE WHEN (SELECT COUNT (FLIGHT.flight_id) AS cnt
FROM FLIGHT, COURSE
WHERE COURSE.course_id=FLIGHT.course_id AND COURSE.inside_country=0) = 0 THEN 1 ELSE
 (SELECT COUNT (FLIGHT.flight_id) AS cnt
FROM FLIGHT, COURSE
WHERE COURSE.course_id=FLIGHT.course_id AND COURSE.inside_country=0)
END
FROM COURSE, AIRPLANE, FLIGHT, BRAND_NAME
  WHERE COURSE.course_id=FLIGHT.course_id AND FLIGHT.airplane_id=AIRPLANE.airplane_id
   AND AIRPLANE.brand_name_id=BRAND_NAME.brand_name_id
   AND COURSE.inside_country=0 
   AND BRAND_NAME.brand_name='БОИНГ'
1
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 22
18.10.2016, 23:11  [ТС]
Спасибо за ответ! Если не сочтете за наглость, есть вопрос по другим запросам. Например, запрос 4 и мой код:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 --Определить наличие свободных мест на рейс №171 17.07.2013.--
SELECT (Have-Sold) AS FREE
FROM 
  ( 
    SELECT AIRPLANE.places_number AS Have
    FROM BRAND_NAME 
     INNER JOIN AIRPLANE ON BRAND_NAME.brand_name_id = AIRPLANE.brand_name_id   
     INNER JOIN FLIGHT ON AIRPLANE.airplane_id = FLIGHT.flight_id
     INNER JOIN COURSE ON FLIGHT.course_id = COURSE.course_id
     WHERE COURSE.course_id= 171
      AND FLIGHT.departure_date = '17.07.2013' 
  ) temp1,
  ( 
    SELECT SUM (TICKET.ticket_id) AS Sold
    FROM FLIGHT
     INNER JOIN TICKET ON FLIGHT.flight_id=TICKET.flight_id
     INNER JOIN COURSE ON FLIGHT.course_id = FLIGHT.course_id
    WHERE COURSE.course_id= 171
     AND FLIGHT.departure_date = '17.07.2013'
  ) temp2;
Проблема в том, что первая половина кода не выводит ровным счетом ничего, видимо, я где-то напортачил в inner join. Не могу понять, где.

Добавлено через 5 минут
И также возникла проблема с запросом 2. Почему-то выводится значение NULL
SQL
1
2
3
4
5
6
7
8
9
10
11
12
--Определить среднее рассчетное время полета для самолета 'БОИНГ' для международных перевозок--
SELECT DISTINCT AVG (DATEDIFF( hh, FLIGHT.departure_date, FLIGHT.arrival_date)) AS 'Среднее время'
FROM BRAND_NAME, FLIGHT
 INNER JOIN COURSE ON FLIGHT.flight_id = COURSE.course_id
 INNER JOIN AIRPLANE ON FLIGHT.airplane_id = AIRPLANE.airplane_id
WHERE COURSE.inside_country = 0
AND BRAND_NAME.brand_name = 'БОИНГ'
 
SELECT DISTINCT FLIGHT.flight_id AS 'id Полета' , FLIGHT.departure_date AS 'Дата вылета'  , FLIGHT.arrival_date AS 'Дата прилета'
FROM COURSE , FLIGHT  
 INNER JOIN AIRPLANE ON FLIGHT.airplane_id = AIRPLANE.airplane_id
WHERE COURSE.inside_country = 0
0
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
18.10.2016, 23:24
Чего-то я тупанул в 1 запросе, зачем среднее количество часов еще и делить на количество рейсов...
Но это в часах без учета минут.
SQL
1
2
3
4
5
6
7
SELECT 
CAST(avg(DATEDIFF(HH,departure_date,arrival_date)) AS FLOAT)
FROM COURSE, AIRPLANE, FLIGHT, BRAND_NAME
  WHERE COURSE.course_id=FLIGHT.course_id AND FLIGHT.airplane_id=AIRPLANE.airplane_id
   AND AIRPLANE.brand_name_id=BRAND_NAME.brand_name_id
   AND COURSE.inside_country=0 
   AND BRAND_NAME.brand_name='БОИНГ'
Добавлено через 5 минут
А зачем inner join
SQL
1
2
3
4
5
6
SELECT AIRPLANE.places_number AS Have
FROM COURSE, AIRPLANE, FLIGHT, BRAND_NAME
  WHERE COURSE.course_id=FLIGHT.course_id AND FLIGHT.airplane_id=AIRPLANE.airplane_id
  AND AIRPLANE.brand_name_id=BRAND_NAME.brand_name_id
  AND COURSE.course_id= 171
  AND FLIGHT.departure_date = '17.07.2013'
0
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 22
18.10.2016, 23:46  [ТС]
Ругается на ваш скрипт
Миниатюры
"Неправильный синтаксис около ключевого слова FROM" при выполнении запроса  
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
19.10.2016, 10:28
Цитата Сообщение от ubertinderkid Посмотреть сообщение
Ругается на ваш скрипт
А что, в SELECTе уже можно два WHERE писать?
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
19.10.2016, 10:40
да копипаст там. причем совсем бесконтрольный
0
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 22
19.10.2016, 13:27  [ТС]
Переписал по-своему, заработало.

Добавлено через 14 минут
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
--Выбрать маршрут/маршруты, по которым чаще всего летают рейсы, заполненные менее, чем на 70%--
SELECT TOP 1 WITH TIES (TEMP.course_id) AS ID, COUNT(TEMP.flight_id) AS FREQ 
FROM 
    ( SELECT FLIGHT.flight_id, COURSE.course_id 
       FROM  TICKET, FLIGHT, COURSE, AIRPLANE
       WHERE AIRPLANE.airplane_id = FLIGHT.airplane_id
       AND FLIGHT.flight_id = TICKET.flight_id
       AND COURSE.course_id = FLIGHT.course_id
    GROUP BY FLIGHT.flight_id , AIRPLANE.places_number, COURSE.course_id
    HAVING SUM (TICKET.ticket_id) < 0.7 * AIRPLANE.places_number
    ) TEMP
GROUP BY TEMP.course_id , TEMP.flight_id
ORDER BY FREQ DESC
3 скрипт, видимо, где-то опять описка

Добавлено через 7 минут
Цитата Сообщение от iap Посмотреть сообщение
А что, в SELECTе уже можно два WHERE писать?
Вот как сделал:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT (Have-Sold) AS FREE
FROM 
  ( 
    SELECT AIRPLANE.places_number AS Have
    FROM BRAND_NAME, AIRPLANE, FLIGHT, COURSE 
     WHERE BRAND_NAME.brand_name_id = AIRPLANE.brand_name_id    
     AND AIRPLANE.airplane_id = FLIGHT.airplane_id
     AND FLIGHT.course_id = COURSE.course_id
     AND COURSE.course_id= 171
     AND FLIGHT.departure_date = '17.07.2013'
  ) temp1,
  ( 
    SELECT COUNT (ticket_id) AS Sold
    FROM FLIGHT
     INNER JOIN TICKET ON FLIGHT.flight_id=TICKET.flight_id
     INNER JOIN COURSE ON FLIGHT.course_id = COURSE.course_id
    WHERE COURSE.course_id= 171
     AND FLIGHT.departure_date = '17.07.2013'
  ) temp2;
Добавлено через 1 час 7 минут
Вся проблема была в последней строке. Изменил так:
Кликните здесь для просмотра всего текста

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
--Выбрать маршрут/маршруты, по которым чаще всего летают рейсы, заполненные менее, чем на 70%--
SELECT TOP 1 WITH TIES (TEMP.course_id) AS ID, COUNT(TEMP.flight_id) AS FREQ 
FROM 
    ( SELECT FLIGHT.flight_id, COURSE.course_id 
       FROM  TICKET, FLIGHT, COURSE, AIRPLANE
       WHERE AIRPLANE.airplane_id = FLIGHT.airplane_id
       AND FLIGHT.flight_id = TICKET.flight_id
       AND COURSE.course_id = FLIGHT.course_id
    GROUP BY FLIGHT.flight_id , AIRPLANE.places_number, COURSE.course_id
    HAVING COUNT(TICKET.ticket_id) < 0.7 * AIRPLANE.places_number
    ) TEMP
GROUP BY TEMP.course_id , TEMP.flight_id
ORDER BY FREQ DESC
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.10.2016, 13:27
Помогаю со студенческими работами здесь

Неправильный синтаксис около ключевого слова "SET"
привет нашел в документации изменение значения по умолчанию ALTER TABLE Persons ALTER COLUMN City SET DEFAULT 'SANDNES' у меня...

Неправильный синтаксис около ключевого слова "GROUP"
SELECT Товар.НаименованиеТовара,Поставщики.Наименование, Месяцы.Месяц, COUNT(Поставки.КодПоставки), Sum(Поставки.ОбъемПоставокШт),...

Ошибка! Неправильный синтаксис около ключевого слова "and"
Не получается создать триггер, пишет ошибку Неправильный синтаксис около ключевого слова &quot;and&quot;. create trigger Emp_del on...

Неправильный синтаксис около ключевого слова "AS"
Здравствуйте. Хочу создать пустую копию таблицы, делаю вот так CREATE TABLE .. AS SELECT * FROM .. Where 1 = 2 ; Выдает...

Неправильный синтаксис около ключевого слова order
Добрый вечер! Хочу использовать access в качестве клиента для подключения к mssql server. 2012 express . После подключения Access к mssql,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru