3

関係のない3つの異なるテーブルからカウントを取得したい。このSQLクエリを使用しています。

SELECT 
    (SELECT COUNT(DISTINCT id) FROM user) AS userCount, 
    (SELECT COUNT(DISTINCT id) FROM item) AS itemCount, 
    (SELECT COUNT(DISTINCT id) FROM sub_category) as categoryCount;

上記のクエリにDQLを使用することは可能ですか?または、rawSQLクエリを使用する必要がありますか?

私は教義1.2.4を使用しています

4

1 に答える 1

2

掘り下げた後、私は自分で解決策を見つけました。つまり、pdo 接続インスタンスを直接使用します。

$q = Doctrine_Manager::getInstance()->getCurrentConnection();
$result = $q->execute(' SELECT 
    (SELECT COUNT(DISTINCT id) FROM user) AS userCount, 
    (SELECT COUNT(DISTINCT id) FROM item) AS itemCount, 
    (SELECT COUNT(DISTINCT id) FROM sub_category) as categoryCount;'
);
$result->fetchAll(PDO::FETCH_ASSOC);

これは今のところ私にとってはうまくいきますが。それをDQLに変換できるかどうかまだ疑問に思っていました。Doctrine の RAW SQL のようなさまざまな構文とアプローチを試しましたが、うまくいきませんでした。

于 2012-04-08T04:15:26.943 に答える