0

異なるテーブルからデータを取得するクエリがあります

SELECT p.USER_NAME,count(*) as total, pi.UpdatedDate FROM purchase p JOIN purchasedissues pi on pi.PurchaseId=p.PURCHASE_ID WHERE pi.UpdatedDate>DATE_SUB(NOW(), INTERVAL 1 HOUR) AND p.PURCHASE_DATE=CURDATE() AND p.USER_NAME NOT IN (SELECT username from tbl_test_user) GROUP BY p.USER_NAME having count(*)>2 

しかし、私はエラーが発生しました

#1064- SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の「SELECT p.USER_NAME,count(*) as total, pi.UpdatedDate FROM purchase p JOIN pur」の近くで使用する正しい構文を確認してください。

私はそれを理解することはできません。誰か助けてください よろしくお願いします

4

2 に答える 2

0

このクエリを試してください。マシンに環境が設定されていないため、機能するかどうかはわかりませんが、テストするための本質が得られるかもしれません:)

SELECT p.USER_NAME,count(*) as total FROM purchase p JOIN purchasedissues pi on pi.PurchaseId=p.PURCHASE_ID WHERE pi.UpdatedDate>DATE_SUB(NOW(), INTERVAL 1 HOUR) AND p.PURCHASE_DATE=CURDATE() AND p.USER_NAME NOT IN (SELECT username from tbl_test_user) GROUP BY p.USER_NAME  having total > 2
于 2012-12-03T06:18:44.820 に答える
0

あなたのクエリは大丈夫です。エラーは、それがあなたの近くにあることを示していますSELECT p.USER_NAME,...。これは通常、複数のクエリを終了せずに実行している場合に発生します。元、

SELECT * FROM tableName
SELECT p.USER_NAME,count(*) as total, pi.UpdatedDate FROM purchase....

したがって、それを修正するには、最初のクエリを終了するために区切り記号 (通常は変更しない場合はセミコロン) を追加します。

SELECT * FROM tableName; -- <== this one
SELECT p.USER_NAME,count(*) as total, pi.UpdatedDate FROM purchase....
于 2012-12-03T06:08:36.897 に答える