python - 数据库多表查询,如何取A表中最后一个数据在B表中进行查找?
巴扎黑
巴扎黑 2017-04-17 16:31:31
[Python讨论组]

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里面如果测试成功的话,如何去运行呢?

巴扎黑
巴扎黑

全部回复(1)
ringa_lee

从数据库查出来手机号

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

mysql测试可用

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号