別のクエリの結果にクエリから一定の値の列を追加する方法?

漢M:

基本的に、私は2つのテーブルを持っています。テーブルAから、私はそれからの行の合計数を計算します。私が使用することができSELECT COUNT(*) FROM A、それを得るために、最初のクエリとして。他のテーブルBから、私はそれからすべてのもの(列)を選択します。私が使用することができますSELECT * FROM B2番目のクエリとして。私の質問は、2番目のクエリの結果に列として最初のクエリからの結果を追加するために、単一のクエリを使用する方法です。言い換えれば、私は、単一のクエリを使用することによって、表Bからすべてのものへの表Aからの行の合計数の値を持つ追加の列を持っていると思います。

キーズJard:

CROSSはそれを登録しよう:

SELECT * FROM
  (SELECT COUNT(*) as cnt FROM A) a
  CROSS JOIN
  B

結果セットが広くなりに参加。連合は結果セットの背の高いします。あなたが参加する必要がありますが、あなたが参加する何も持っていない場合は、列の数に成長したい任意の時間ON、それは任意のON述語を必要としないので、あなたはCROSS JOINを使用することができます

どんなコーディネート述語なくても、その返します選択リストエリアでサブクエリとして単一の値を選択するあなたは代わりに、古いスタイルは、WHERE関連するいかなるせずに結合構文を常に真である述語で内部結合を使用することができ、またはあなたが置くことができます。CROSS JOINはので、ほとんどのDBAはおそらく、これらのいずれもがCROSSに好適ではないASSERT JOIN構文を考え、あなたが何かを忘れてしまったように他の人がちょうど見えるかもしれないのに対し、あなたの意思の明示的な文です

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=15342&siteId=1