-1

データベースに 4 つのテーブルがあり、

ユーザー、カウント、クーポン、アカウント

次の条件のユーザー数が必要です。

  1. ユーザーテーブルからすべてのユーザーを選択してから、
  2. ユーザーが過去 14 日間のリストに含まれていない数から選択してから、
  3. リストにないユーザーを選択して、クーポン テーブルにあることを確認します。それらがクーポン テーブルにない場合は、それらのユーザー ID を取得します。
  4. アカウント テーブルを選択し、これらのユーザーのアカウント テーブルにカウントまたは挿入があることを確認します。はいの場合は、それらすべてのユーザーを配列に設定するか、結果として出力します。

良いクエリを作成するのを手伝ってください。

ありがとう!

4

1 に答える 1

1

私が正しければ、ユーザーを連れて行きます

  • 過去 14 日間カウント テーブルに含まれていないユーザーと、
  • クーポン表にない人。と
  • アカウントテーブルにいる

奇妙なSQLのように見えますが、例を次に示します。

SELECT  
    * 
FROM 
    user
WHERE user_id NOT IN
    ( 
        SELECT 
            user_id 
        FROM 
            `count` 
        WHERE
            DATE_SUB(CURDATE(),INTERVAL 14 DAY) <= date_column
    )
AND user_id NOT IN
    (
        SELECT
            user_id
        FROM
            coupon
    )
AND user_id IN
    (
        SELECT
            user_id
        FROM
            account
    )

これが正しくない場合は、あなたが望むものの説明が間違っているため、明確にする必要があります。私はあなたの列 (user id? date?) がわからないので、この sql ではすべてが間違っている可能性があります。しかし、好みに合わせて sql を変更できると思います。

于 2013-03-01T10:50:55.130 に答える