Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mySQL使用日期连接查询_Mysql_Sql_Date_Join_Select - Fatal编程技术网

mySQL使用日期连接查询

mySQL使用日期连接查询,mysql,sql,date,join,select,Mysql,Sql,Date,Join,Select,嘿,我有这些表格和数据: create table CUSTOMER(CustNum INT, CustTell INT, CustFname VARCHAR(15), CustLname VARCHAR(15), CustCounty VARCHAR(20), CustTown VARCHAR(20), CustStreet VARCHAR(20), CustPostCode CHAR(7), CustDob DATE, CustEmail VARCHAR(45), Branch VARCHA

嘿,我有这些表格和数据:

create table CUSTOMER(CustNum INT, CustTell INT, CustFname VARCHAR(15), CustLname VARCHAR(15), CustCounty VARCHAR(20),
CustTown VARCHAR(20), CustStreet VARCHAR(20), CustPostCode CHAR(7), CustDob DATE, CustEmail VARCHAR(45), Branch VARCHAR(25), PRIMARY KEY(CustNum, CustTell));

create table PURCHASE(TDate DATE, TTime TIME, BramchAddr VARCHAR(25), TillNo INT, CustNo INT, AssistantNo INT, ProdCode INT, Qty INT, BranchAddr VARCHAR(25), PRIMARY KEY(TDate, TTime));

INSERT INTO CUSTOMER (CustNum, CustTell, CustFname, CustLname, CustCounty, CustTown, CustStreet, CustPostcode, CustDob, CustEmail, Branch) VALUES 
(436196, 0763126847, "John", "Murphy", "West Yorkshire", "Leeds", "Calverley Str" ,"LS1 1AZ", '2000-03-24', "John14@gmail.com", "London"), 
(538912, 0723749154, "Isla", "Taylor", "Leicestershire", "Leicester", "Nedham Str" ,"LE1 1AF", '1996-11-02', "Island@gmail.com", "Brighton"),
(368549, 0796871325, "Charlie", "Byrne", "Greater London", "London", "Peel Str" ,"E1 6AN", '1976-12-17', NULL, "Southampton"),
(377461, 0731895518, "William", "Evans", "Telford and Wrekin", "Telford", "Peel Str" ,"TF1 1AF", '1978-08-21', "Will12@mail.com", "Surrey"),
(652387, 0778234657, "Thomas", "Li", "Merseyside", "Liverpool", "Dumbrees Str" ,"L1 0AH", '1999-01-00', "Tom65@hotmail.com", "Lancaster"),
(543234, 0723432133, "Alex", "Michael", "West Yorkshire", "Leeds", "Richmond Green Str", "LS1 1HE", '1997-06-28', "Alehfds@gmail.com", "London");


INSERT INTO PURCHASE (TillNo, TDate, TTime, CustNo, AssistantNo, ProdCode, Qty, BranchAddr) VALUES
(005, '2020-03-10', '19:12:55', 368549, 48964, 3645789, 3, "Southampton"),
(005, '2020-03-10', '19:32:23', 368549, 48964, 6875436, 1, "Southampton"),
(005, '2020-03-10', '19:42:55', 368549, 48964, 8681466, 1, "Southampton"),
(005, '2020-03-11', '15:48:05', 652387, 48964, 3629191, 2, "Southampton"),
(006, '2020-03-10', '11:43:23', 436196, 18537, 3645789, 3, "Southampton"),
(004, '2020-03-10', '11:49:34', 436196, 56485, 2528726, 1, "Southampton"),
(001, '2020-02-25', '14:22:48', 377461, 23485, 6875436, 2, "Southampton"),
(001, '2020-02-25', '14:52:48', 377461, 23485, 1651687, 2, "London"),
(001, '2020-01-15', '18:18:56', 538912, 23485, 1651687, 1, "London"),
(006, '2020-01-15', '18:45:56', 538912, 18537, 8658458, 1, "London"),
(002, '2020-01-12', '09:32:14', 652387, 15615, 3697260, 3, "London"),
(003, '2019-05-26', '11:20:43', 368549, 83157, 4494292, 8, "Lancaster"),
(001, '2021-03-16', '13:43:40', 368549, 23485, 3697260, 6, "Southampton"),
(005, '2019-05-19', '17:40:16', 538912, 48964, 8005597, 5,"London"),
(005, '2019-11-27', '01:48:18', 538912, 48964, 5600196, 1, "Brighton"),
(006, '2020-12-06', '18:21:36', 538912, 18537, 6889045, 2, "Lancaster"),
(003, '2020-03-10', '08:09:05', 377461, 83157, 1076404, 7, "Lancaster"),
(005, '2020-07-24', '14:58:47', 538912, 48964, 4494292, 2, "Lancaster"),
(004, '2020-10-17', '19:19:32', 368549, 56485, 1651687, 2, "Southampton"),
(005, '2019-05-20', '22:19:57', 652387, 48964, 8681466, 6, "Southampton"),
(006, '2020-10-12', '00:50:32', 368549, 18537, 9346249, 7, "London"),
(001, '2020-11-04', '22:08:54', 377461, 23485, 8681466, 6, "Brighton");

我想做一个查询,显示上个月哪些客户帐户没有激活。这就是我尝试过但失败的地方:

SELECT PURCHASE.CustNo, PURCHASE.TDate, CUSTOMER.CustNum FROM (CUSTOMER
LEFT JOIN PURCHASE ON CUSTOMER.CustNum = PURCHASE.CustNo)
WHERE PURCHASE.TDate = CURDATE() - INTERVAL 1 MONTH
ORDER BY PURCHASE.CustNo;
假设我可以更改日期,有没有办法进行这样的查询

所需的重新结果将是过去一个月内未激活的所有客户详细信息

我想做一个查询,显示上个月哪些客户帐户未激活

我建议
不存在
展示从现在到一个月前没有购买
的客户:

select c.*
from customer c
where not exists (
    select 1 
    from purchase p 
    where p.custno = c.custnum and p.tdate >= current_date - interval 1 month
)

这个查询将有助于在
购买(custno,tdate)
上建立索引

c.*是什么意思?抱歉,我刚开始学习查询。@GiorgosCut:这是表
客户的表别名(而
p
是表
购买的别名)。所需的结果是什么?相应地编辑您的问题