0

顧客の注文が1つしかない注文テーブルから、顧客と請求書IDのリストを取得しようとしています。次のSQLはゼロレコードを返します。数十個あるはずです。有効なユーザーIDをサブクエリに置き換えると、サブクエリはそれ自体で正常に機能するようです。私は何か非常に間違ったことをしているに違いありません、何か助けはありますか?

SELECT tblclients.id AS clientid, tblinvoices.id AS invoiceid
            FROM tblorders
            join tblinvoices ON tblorders.invoiceid = tblinvoices.id
            join tblclients ON tblorders.userid = tblclients.id
            WHERE (SELECT COUNT(*) FROM tblorders WHERE userid = tblorders.userid) = 1;
4

1 に答える 1

1

エイリアスに問題があると思います。T1 エイリアスを追加してみてください。

SELECT tblclients.id AS clientid, tblinvoices.id AS invoiceid
            FROM tblorders T1
            join tblinvoices ON T1.invoiceid = tblinvoices.id
            join tblclients ON T1.userid = tblclients.id
            WHERE (SELECT COUNT(*) FROM tblorders WHERE userid = T1.userid) = 1;
于 2012-08-03T16:24:51.233 に答える