SELECT et.*,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_waittime,
(SELECT el.mode FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_mode,
(SELECT el.time FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_fare,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_waittime,
(SELECT el.mode FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_mode,
(SELECT el.time FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_fare,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,2) AS leg3_waittime,
(SELECT el.mode FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,2) AS leg3_mode,
(SELECT el.time FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,2) AS leg3_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,2) AS leg3_fare,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,3) AS leg4_waittime,
(SELECT el.mode FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,3) AS leg4_mode,
(SELECT el.time FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,3) AS leg4_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,3) AS leg4_fare
FROM entitytrip as et
-1
A
ответ
0
Не пытаясь понять, что вы хотите сделать, я вижу, что последние 8 подзапросов имеют ограничение 1,2 или 1, 3. Эти подзапросы возвратит более одной строки, так что вы лучше изменить его на 2,1 & 3,1
SELECT et.*,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_waittime,
(SELECT el.mode FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_mode,
(SELECT el.time FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_fare,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_waittime,
(SELECT el.mode FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_mode,
(SELECT el.time FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_fare,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 2,1) AS leg3_waittime,
(SELECT el.mode FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 2,1) AS leg3_mode,
(SELECT el.time FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 2,1) AS leg3_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 2,1) AS leg3_fare,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 3,1) AS leg4_waittime,
(SELECT el.mode FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 3,1) AS leg4_mode,
(SELECT el.time FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 3,1) AS leg4_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 3,1) AS leg4_fare
FROM entitytrip as et
0
SELECT et.*,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_waittime,
(SELECT el.`mode` FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_mode,
(SELECT el.`time` FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1) AS leg1_fare,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_waittime,
(SELECT el.`mode` FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_mode,
(SELECT el.`time` FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 1,1) AS leg2_fare,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 2,1) AS leg3_waittime,
(SELECT el.`mode` FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 2,1) AS leg3_mode,
(SELECT el.`time` FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 2,1) AS leg3_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 2,1) AS leg3_fare,
(SELECT el.waitTime FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 3,1) AS leg4_waittime,
(SELECT el.`mode` FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 3,1) AS leg4_mode,
(SELECT el.`time` FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 3,1) AS leg4_time,
(SELECT el.fare FROM entityleg as el WHERE et.tripId=el.tripId LIMIT 3,1) AS leg4_fare
FROM entitytrip as et
Вот исправленный код. С время и режим уже предопределены в mysql. Так что для MySQL, чтобы понять, как имя столбца, вы должны использовать ` ` время и ` ` режим.
Также ошибка «подзапрос возвращает более 1 строки», поскольку вы неправильно установили лимит и смещение. Вместо limit 2,1
вы использовали limit 1,2
. Аналогичным образом limit 3,1
Вы использовали limit 1,3
Смежные вопросы
- 1. Ошибка подзапроса MySQL: Подзапрос возвращает более 1 строки
- 2. MySQL более 1 строки ошибка
- 3. Mysql :: Ошибка: Подзапрос возвращает более 1 строки:
- 4. Ошибка однострочного подзапроса возвращает более одной строки
- 5. Подзапрос MySQL возвращает более 1 строки. Как найти подзапрос?
- 6. Подзапрос возвращает более 1 строки, Ошибка 1242
- 7. UPDATE, без подзапроса бросает ошибку: подзапрос возвращает более 1 строки
- 8. MySQL: Подзапрос возвращает более 1 строки
- 9. Подзапрос возвращает более 1 строки MySQL
- 10. Функция MySQL возвращает более 1 строки
- 11. mysql - Подзапрос возвращает более 1 ошибки строки
- 12. MYSQL - Ошибка: # 1242 - Подзапрос возвращает более 1 строки
- 13. mysql # 1242 - Подзапрос возвращает более 1 строки
- 14. Подзапрос PHP/MySQL возвращает более 1 строки
- 15. Подзапрос возвращает более 1 строки - netbeans & mysql
- 16. MySQL - Подзапрос возвращает более 1 строки (странный)
- 17. ошибка 1242 подзапрос возвращает более 1 строки
- 18. как отлаживать «sqquery subquery возвращает более 1 строки» ошибка
- 19. MYSQL пенетрация из более подзапросов
- 20. Как разрешить недействительныеПовторить возвращает более 1 строки
- 21. Ошибка MySQL 1242: Subquery возвращает более 1 строки
- 22. Ошибка MySQL: # 1242 - Подзапрос возвращает более 1 строки
- 23. Не могу решить, почему Sub-Query возвращает более 1 строки
- 24. Неожиданное нарушение мощность (подзапросов возвращает более чем на 1 строку)
- 25. Подзапрос возвращает более 1 строки?
- 26. Подзапрос возвращает более 1 строки
- 27. Ошибка # 1242 Подзапрос возвращает более 1 строки при обновлении
- 28. Подзапрос Mysql возвращает Подзапрос возвращает более 1 строки ошибки
- 29. Подзапрос возвращает более 1 строки sql-запроса
- 30. 1242 - Подзапрос возвращает более 1 строки 1
Что вы пытаетесь сделать? Кажется, что вы делаете SELECT для каждого столбца в той же таблице, которая сумасшедшая – Borjante
Это требование для создания вида, подобного этому .... –