0

私はする必要があります:

SELECT COUNT(*)
  FROM some_table
 WHERE someAlias1 = someValue1 
   AND someAlias2 = someValue2;

someAliasの列の別名ですsome_table。私の場合、列に直接名前を付けることはできません。エイリアスを使用する必要があります。

問題は、select句内でエイリアスを定義することしか知らないということです。この場合、どうすればよいかわかりません。

この場合、必要なことを達成する方法はありますか?

編集:なぜエイリアスが必要なのですか? 代替パーツからクエリを作成しています。上記の条件は、異なるテーブルの異なる列に適用されますが、論理的な役割は同じです。したがって、同じ名前の異なる代替列に関連付ける方法が必要です。

エイリアスが必要な理由がわからない場合でも、答えを知っている場合にのみこの質問に答えていただければ幸いです

4

3 に答える 3

2

ネストされた SELECT ステートメントを実行してから、内側のクエリからカウントを引き出すことができますが、列名を使用してエスケープする方法は実際にはわかりません

SELECT COUNT(*) 
  FROM(
        SELECT col1 as someAlias1, 
               col2 as someAlias2
        FROM   some_table
        WHERE  someAlias1 = someValue1
        AND    someAlias2 = someValue2
       ) as inner
于 2011-08-17T12:57:21.010 に答える
2

列に直接名前を付けることができないシナリオがわかりません。列名が重複している場合は、テーブル名を先頭に追加します。

WHERE someTable1.someColumn1 = someValue1

列名が予約済みのキーワードであるか、スペースが含まれている場合は、引用符で囲みます。

WHERE `some Column1` = someValue1

両方を組み合わせることもできます:

WHERE someTable1.`some Column1` = someValue1
于 2011-08-17T12:53:17.940 に答える