我有两张table如下:
表internetclient(id、全名、位置、电话号码)
表internetclientdetails(incdid,icid,date\u sub,date\u exp,ispaid,profile\u sub)
两个表中的数据如下:client
--------------------------------------------------------
id full_name location phone_number
-------------------------------------------------------
4 Joe Amine beirut 03776132
5 Mariam zoue beirut 03556133
客户端订阅
--------------------------------------------------------------------------
incdid icid date_sub date_exp isPaid sub_price
----------------------------------------------------------------------------
6 4 2018-01-01 2018-01-30 0 2000
7 5 2017-01-01 2017-01-30 0 1000
8 4 2018-03-01 2018-03-30 1 50000
9 5 2018-05-01 2019-05-30 1 90000
注:incdid代表internetclientdetailsid,icid代表internetclientid
问题我想做一个查询,根据最新的客户端订阅日期返回客户端名称和所有详细信息,结果如下:
------------------------------------------------------------
full_name client_id date_sub sub_price
------------------------------------------------------------
Joe Amine 4 2018-03-01 50000
Mary 5 2018-05-01 90000
我在做什么 SELECT * FROM client c LEFT JOIN client_subscription c_s on c.id=c_s.client_id UNION SELECT * FROM client c RIGHT JOIN client_subscription c_S on c.id=c_s.client_id WHERE c.sub_date=(SELECT MAX(sub_date) from client_subscription c_s INNER JOIN client c on c.id=c_s.client_id GROUP BY c_s.client_id
我整晚都在做这个。任何帮助都非常感谢。
4条答案
按热度按时间dgenwo3n1#
vhmi4jdf2#
要获得每个客户端的客户端订阅,可以使用自连接
演示
或使用左连接
演示
使用更新的数据集更新查询
更新的演示
sczxawaw3#
试试这个
wz8daaqr4#
嗨,试试下面的样品也许对你有帮助。