プロが教える店舗&オフィスのセキュリティ対策術

以下のようなデータ件数のテーブルが、別々のDBにあります。

SELECT COUNT(*) FROM AA.TBL01

------
TBL01
------
10


SELECT COUNT(*) FROM BB.TBL02

------
TBL02
------
5


それぞれのテーブルのカウント結果を、1行で取得する
ことは可能でしょうか?

<取得したい結果>
----------------
TBL01 TBL02
----------------
10 5


よろしくお願いします。
(SQL Server2005 Standard)

A 回答 (2件)

テーブル2つ程度なら、これでもいいかと思います。


SELECT
(SELECT COUNT(*) FROM AA.TBL01) TBL01,
(SELECT COUNT(*) FROM BB.TBL02) TBL02
    • good
    • 9
この回答へのお礼

おお!これまた、すばらしい!
こんなに簡単に記述できるんですね。

ありがとうございました。

お礼日時:2008/10/08 18:56

可能です。


Union でつなげて、それぞれの結果を別の列にするのです。

SELECT COUNT(*) as F1, 0 As F2 FROM AA.TBL01
Union All
SELECT 0,COUNT(*) FROM BB.TBL02

後は結果をFrom句のテーブルとしてさらにSumします。
Select Sum(F1) , Sum(F2) From
(SELECT COUNT(*) as F1, 0 As F2 FROM AA.TBL01
Union All
SELECT 0,COUNT(*) FROM BB.TBL02
) T
    • good
    • 2
この回答へのお礼

おお!できるんですね。早速試してみます!

ありがとうございました。

お礼日時:2008/10/08 18:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す