首页 > 数据库多表查询,如何取A表中最后一个数据在B表中进行查找?

数据库多表查询,如何取A表中最后一个数据在B表中进行查找?

A表中有id user_id
B表中有id phone
a.user_id = b.id

需求:现在要取a.user_id最新的一个数据然后在B表中查找phone,并给b.phone发送短信= =。。。

短信接口我已经测试好了,现在要取a.user_id最新的一个数据并且查询这一步很难。。

我用的Python,现在可以取出a.user_id最后的一个数据(最后=最新?),也可以做到A表中的数据在B表中查询,但是这个b.id是手动输入的,好像不能以变量替代。。

取出A表中最后的一个数据:

cur.execute("SELECT * FROM xy_q_ticket_record ORDER BY id DESC LIMIT 1 ")

A表中数据在B表中进行查询:`

cur.execute("SELECT a.id, a.user_id, b.id, b.phone from xy_q_ticket_record a, xy_member b where a.user_id = b.id and b.id = '手动输入'")`

PS:最新的,我已经查到了最后的一条数据:

    cur = con.cursor()
    cur.execute("SET @id = (SELECT user_id FROM xy_q_ticket_record ORDER BY id DESC LIMIT 1)")
    cur.execute("SELECT a.id, a.user_id, b.id, b.phone from xy_q_ticket_record a, xy_member b where a.user_id = b.id and b.id = @id")
    line_phone = cur.fetchone()
    print line_phone[3]

现在就是要解决这个最后的数据是否是最新的那一条数据,这里是否要加一条判断?
以及Python这个脚本如何去自己的运行。。我写的在IDLE里面如果测试成功的话,如何去运行呢?


从数据库查出来手机号

SELECT b.phone FROM b WHERE b.id = (SELECT a.user_id FROM a ORDER BY id DESC LIMIT 1)

mysql测试可用

【热门文章】
【热门文章】