-1

我在数据库中有四个表,

用户、计数、优惠券、帐户

需要以下条件的用户数:

  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
    )

如果这不正确,那么您对您想要什么的解释是错误的,应该予以澄清。这个 sql 一切都可能有问题,因为我不知道你的列(用户 ID?日期?)。但我认为你可以根据自己的喜好更改 sql。

于 2013-03-01T10:50:55.130 回答