答えて
は、あなたがしてそうすることができる。
WITH subquery AS(
SELECT * FROM TheTable
)
SELECT *
FROM subquery q1
JOIN subquery q2 on ...
またはクエリを含むビューを作成し、その上で参加することによって:
SELECT *
FROM TheView v1
JOIN TheView v2 on ...
またはブルートフォースアプローチ:サブクエリを2回入力します。
SELECT *
FROM (
SELECT * FROM TheTable
) sub1
LEFT JOIN (
SELECT * FROM TheTable
) sub2 ON ...
http://www.postgresql.org/docs/8.3/interactive/unsupported-features-sql-standard.htmlによると、PostgreSQLは最新のバージョン8.3のWITHクエリをサポートしていません。 – markusk
8.4にアップグレードすることができます。現在ベータ版ですが、WITHが最後にあります。http://www.postgresql.org/docs/8.4/static/queries-with.html –
サブクエリはやや複雑なので、最初にビューを試してから、 "brute force"のソリューションを試してみてください。最終的には、pgsql 8.4の出荷時にWITHを使用するように切り替えるでしょう。 – Joril
あなたは、テーブルのクエリの結果をその同じテーブルに意味しますか?そうであれば、はい、可能です。
--Bit of a contrived example but...
SELECT *
FROM Table
INNER JOIN
(
SELECT
UserID, Max(Login) as LastLogin
FROM
Table
WHERE
UserGroup = 'SomeGroup'
GROUP BY
UserID
) foo
ON Table.UserID = Foo.UserID AND Table.Login = Foo.LastLogin
申し訳ありませんが、あなたの「私はPostGresを使用しています」というコメントに気付きました。上記が文法上ポストグルで正しいかどうかは不明です。 –
AFAICSは素晴らしいです(ただし、 'foo'対 'Foo'の対立の場合を除いて);-)。 –
@ Eoin:よく質問の_results_に参加することを意味しましたが、皆さんの助けてくれてありがとうございます:) – Joril
はい、ちょうどクエリ別名:
SELECT *
FROM (
SELECT *
FROM table
) t1
JOIN (
SELECT *
FROM table
) t2
ON t1.column < t2.other_column
- 1. 依存サブクエリから自己結合
- 2. 複合SQL自己結合
- 3. Rails HABTM自己結合エラー
- 4. モンゴイド自己参照結合
- 5. Oracleクエリ自己結合?
- 6. 自己結合によるMYSQL自己参照ロジック
- 7. JPAとの自己結合関係
- 8. Ember-Dataとの自己結合
- 9. 自己結合城ウィンザーとC#の
- 10. NULL値のSQL自己結合問題
- 11. 自己結合ActiveRecord、Parent_Post_IDと私
- 12. Codeigniterサブクエリ結合
- 13. WordPress:テーブル結合サブクエリ
- 14. C++での自己連結
- 15. LINQ、サブクエリ結果の集合
- 16. サブクエリの内部結合
- 17. 複合自己結合SQLクエリで必要なヘルプ
- 18. SQL:3個の自己結合し、それらを一緒に結合する
- 19. 自己完結型ルビー "バイナリ"?
- 20. 自己完結型PHPサーバ
- 21. 左外部結合サブクエリ
- 22. サブクエリまたはOUTER結合
- 23. 結合によるMysqlサブクエリ
- 24. Railsの理解ActiveRecordの "単一モデル"自己結合
- 25. 自己結合表 - パフォーマンス/その他の影響
- 26. 自己結合表からParentの親の親を取得
- 27. mysqlの複数の値を自己結合する方法は?
- 28. 条件のdata.tableを自己結合する方法
- 29. 参照先クライアントを見つけるための自己結合
- 30. 自己結合表の列をマッピングする方法!
は、あなたが何をしようとしての例を提供してもらえますか? –