6

関係のないデータがあります。3つのテーブルからさまざまな列を数え、それらをビューとしてページに表示する必要があります。

これはこれまでのコードですが、機能しません。

SELECT COUNT(cars) AS A,
       (SELECT COUNT(boats) FROM tableBoats) AS B,
       (SELECT COUNT(trees) FROM tableTrees) AS C,
 FROM tableCars
4

5 に答える 5

15
SELECT A, B, C
FROM (SELECT COUNT(cars) as A FROM tableCars) a
CROSS JOIN (SELECT COUNT(boats) as B FROM tableBoats) b
CROSS JOIN (SELECT COUNT(trees) as C FROM tableTrees) c

するべきです。

于 2012-06-28T11:30:14.973 に答える
14

tableXxxここのようなテーブル ( という名前のフィールドを持つテーブル)があると仮定すると、の後にxxxコンマがあるため、クエリに構文エラーがあり、AS C,そのコンマがなくても正しく動作します (mssql は sqlfiddle で動作していないため、少なくとも sqlite を使用します)。 :

http://sqlfiddle.com/#!5/5fa6c/3

SELECT COUNT(cars) AS A,
       (SELECT COUNT(boats) FROM tableBoats) AS B,
       (SELECT COUNT(trees) FROM tableTrees) AS C
FROM tableCars

ところで、クエリを次のように単純化できます

SELECT (SELECT COUNT(cars ) FROM tableCars ) AS A,
       (SELECT COUNT(boats) FROM tableBoats) AS B,
       (SELECT COUNT(trees) FROM tableTrees) AS C

他の答えも完璧です:)

于 2012-06-28T11:52:44.843 に答える
0
SELECT *
FROM 
(
   SELECT 'Nb cars'  as description, COUNT(cars)  AS count_item FROM tableCars
   UNION ALL
   SELECT 'Nb boats' as description, COUNT(boats) AS count_item FROM tableBoats
   UNION ALL
   SELECT 'Nb tress' as description, COUNT(trees) AS count_item FROM tableTrees
) temp
于 2012-06-28T11:36:27.823 に答える