-1

3 つの SQL クエリを 1 つの単純なクエリに組み合わせて、必要なものすべてを返すという大きな問題があります。これらの単純な SQL クエリを 1 つに結合する方法はありますか?

クエリ1:

SELECT COUNT(FieldID) AS "CountA"
FROM table WHERE Rezervovany = 0 AND Prodany = 0

クエリ 2:

SELECT COUNT(FieldID) AS "CountB"
FROM table WHERE Rezervovany = 1 AND Prodany = 0

クエリ3:

SELECT COUNT(FieldID) AS "CountC"
FROM table WHERE Prodany = 1
4

2 に答える 2

3

集計関数case内の句に条件を入れることができます。count

SELECT Count(CASE 
               WHEN rezervovany = 0 AND prodany = 0 THEN fieldid 
               ELSE NULL 
             END) AS "CountA", 
       Count(CASE 
               WHEN rezervovany = 1 AND prodany = 0 THEN fieldid 
               ELSE NULL 
             END) AS "CountB", 
       Count(CASE 
               WHEN prodany = 1 THEN fieldid 
               ELSE NULL 
             END) AS "CountC" 
FROM   table 

countnull以外の値のみをカウントすることに注意してください。

于 2012-10-01T16:40:37.727 に答える
0

行を次々に取得したい場合は、これを行うことができます:

SELECT COUNT(FieldID) AS "CountA" FROM table WHERE Rezervovany = 0 AND Prodany = 0
union
SELECT COUNT(FieldID) AS "CountB" FROM table WHERE Rezervovany = 1 AND Prodany = 0
union
SELECT COUNT(FieldID) AS "CountC" FROM table WHERE Prodany = 1

リファレンス (MySQL 用)

于 2012-10-01T16:38:37.610 に答える