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. sqlサブクエリは1行以上のエラーを返します
- 2. MySQLエラー:#1242 - サブクエリが1行以上を返します
- 3. 解決方法サブクエリは複数の選択で1行以上のエラーを返します
- 4. サブクエリはselect文で1行以上を返します
- 5. サブクエリは1行以上を返しますか?
- 6. サブクエリが2つ以上の値を返しました。エラー
- 7. MySQLサブクエリエラー:サブクエリが1行以上を返します
- 8. エラーコード:1242.サブクエリが1行以上を返します - 関数
- 9. MySQL対処方法:サブクエリは1行以上を返しますか?
- 10. SSMSエラー:サブクエリは1つ以上の値を返しましたが、サブクエリはありません
- 11. SQLServerのエラー:サブクエリが1つ以上の値を返しました
- 12. ストアドプロシージャエラー:サブクエリが1行以上返します
- 13. Mysql :: Error:サブクエリが1行以上返します。
- 14. これをMysqlで解決するには(#1242 - サブクエリは1行以上を返します)?
- 15. InternalError:(1242 'サブクエリが1行以上を返す')
- 16. mysql#1242 - サブクエリが1行以上を返す
- 17. SQL Server - サブクエリが1つ以上の値を返しました
- 18. サブクエリが1つ以上の値を返しました
- 19. サブクエリが1つ以上の値を返しました
- 20. MySQLサブクエリが2つ以上の行を返しました
- 21. 1つ以上の値のSQLサブクエリ
- 22. サブクエリが1行以上を返します/指数移動平均
- 23. サブクエリが2つ以上の値を返しました。
- 24. "サブクエリが2行以上を返します"というエラーはなぜ発生しますか?
- 25. SSMSでサブクエリが1つ以上の値を返しました2016
- 26. SQL ServerはエラーをDELETE - サブクエリは、サブクエリを使用して行を削除しようとしたとき、私は、エラーを持つ以上1つの値
- 27. Castle Windsorはゼロ個以上の実装を解決します
- 28. 2行以上を返す2つのSQLサブクエリの結果を差し引く
- 29. IN句を使用している場合でも、サブクエリは1行以上を返します。
- 30. サブクエリが2つ以上の値を返しました。これは、比較演算子を使用してサブクエリ
何をしようとしていますか? 同じテーブルの各列に対してSELECTを作成しているようです。 – Borjante
これは次のようなビューを作成するための要件です。 –