php - mysql如何进行多表操作?

标签 php mysql sql multi-table

我只想在单个查询中执行多个表操作。查询是:

    select name,sno , id  as ids ,(select sum(amount) from client_credits 
where user_id = ids) As total  from clients where sno = '4' and total > '0'

当我尝试使用 ** total > 0 ** 时,此查询不起作用。还有其他可能的方法吗?请帮我。

最佳答案

total 是一个别名。到达 WHERE 子句时,不会解析别名。

尝试:where sno = 4 having total > 0

或者,更有效:

SELECT `c`.`name`, `c`.`sno`, `c`.`id`, SUM(`ccr`.`amount`) AS `total`
FROM `clients` AS `c`
JOIN `client_credits` AS `ccr` ON `c`.`id`=`ccr`.`user_id`
WHERE `c`.`sno` = 4
GROUP BY `c`.`id`

请注意 total > 0 部分是如何消失的?这是因为如果没有要连接的行,则不会连接任何内容,并且这些行会从结果中删除 ;)

关于php - mysql如何进行多表操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24381161/

相关文章:

mysql - 尝试根据另一个值从 5 个不同的表中获取一个值

sql - oracle中的max(rowid)是什么

php - 如何通过PHP表单将数据发布到mySQL数据库?

php - Jquery添加未传递给php的输入数组字段

mysql - 为什么重命名数据库需要复制数据?

mysql - Sql 在一条 SQL 语句中从一个表列中选择最小值并将结果插入到另一个表列中

sql - 一组相同数据的日期范围

php - 向 wordpress 数据库添加新列

php - 在 HTML 表单上插入数据库提交

php - 对所有用户使用相同的 MySQL 查询,而无需重新连接到数据库