如何缩短或更改此代码?

时间:2015-10-21 13:44:40

标签: mysql

想知道是否有可能在不改变变量如何运行的情况下改变这段代码的长度,它很长并且可能让其他人难以理解。

  $lch = "SELECT worth FROM credit 
     INNER JOIN rawdate ON credit.card_id=_rawdate.card_id 
     WHERE credit.card_id= 
       (SELECT card_id FROM rawdate 
         ORDER BY id DESC LIMIT 1
       )";

数据库表名是:

  

credit:id,card_id,value

     

rawdate:id,card_id

2 个答案:

答案 0 :(得分:1)

如果我正确理解问题,此SQL查询应该产生相同的结果:

select worth 
from credit 
    inner join rawdate on credit.card_id = rawdate.card_id
order by rawdate.id desc
limit 1

基本上,如果您只是按ID获取第一个rawdate行并使用其相应的card_id从相应的credit_nd行获取相同card_id的值字段,那么只需按顺序排序连接表的结果rawdate ID和抓住第一行的值得字段应该产生相同的结果。

如果您需要任何其他信息或帮助,请与我们联系。

答案 1 :(得分:0)

SELECT worth 
FROM credit 
INNER JOIN rawdate 
ON credit.card_id= rawdate.card_id 
INNER JOIN (SELECT MAX(id) id FROM rawdate) r_max
ON r_max.id = rawdate.id