首页 文章

Mysql查询问题

提问于
浏览
1

我有2张 table :

客户:customerid - int,pri-key,auto fname - varchar sname -varchar housenum - varchar street -varchar项目:itemid - int,pri-key,auto type - varchar collectiondate - date releaseate - date customerid - int

EDIT 我需要一个查询,它将为我提供所有未来3天发布的项目,包括今天

即查询应返回customerid,fname,sname,street,housenum,type,releaseate,用于今天发布或未来3天的所有项目 . 如果今天的日期是2010-12-24,则项目已发布2010-12-25的日期然后将返回查询 .

这个想法是,如果一个项目即将发布(今天或今天提前3天),那么它将显示这一点 . 提前致谢

2 回答

  • 1
    SELECT  c.customerid, c.fname, c.sname, c.street, c.housenum, i.type, i.releasedate
    FROM    items i
    JOIN    customers c
    ON      c.customerid = i.customerid
    WHERE   i.releasedate >= CURDATE()
            AND i.releasedate < CURDATE() + INTERVAL `4` DAY
    

    注意使用两个比较(严格和宽松)而不是 BETWEEN4 天而不是 3 .

    这意味着如果您在 Jan 1st 上运行此查询,它将返回发布日期大于或等于 Jan 1st 的项目,但严格小于 Jan 5th .

    这意味着日期部分 1234 of January 的任何记录都将进入您的查询 .

  • 1
    SELECT c.customerid, c.fname, c.sname, c.street, c.housenum, i.type, i.releasedate 
    FROM Items i JOIN Customer c ON i.customerid  = c.customerid 
    WHERE i.releasedate BETWEEN NOW() - INTERVAL 3 DAY AND NOW()
    

相关问题