Mysql 显示最新记录并联接多个表
如何连接多个表并显示每个用户销售的商品,以及如何显示销售商品的最新记录 我需要这样的输出 销售人: “jon”项目“1”本“书”,价格为“1000” 尝试:Mysql 显示最新记录并联接多个表,mysql,sql,Mysql,Sql,如何连接多个表并显示每个用户销售的商品,以及如何显示销售商品的最新记录 我需要这样的输出 销售人: “jon”项目“1”本“书”,价格为“1000” 尝试: SELECT uid , users.name AS uname, transact.transaction_id AS transacted INNER JOIN users on transaction_table.c_id=c_table.c_id User table -----------------------
SELECT uid , users.name AS uname, transact.transaction_id AS transacted INNER JOIN users on transaction_table.c_id=c_table.c_id
User table
--------------------------
| uid | name | timezone |
--------------------------
| 1 | jon | +1 gmt |
| 2 | mix | +2 gmt |
| 3 | vic | +1 gmt |
--------------------------
transaction table
-------------------------------
| transaction_id | uid | c_id |
-------------------------------
| dafsf22sdfssgs | 2 | 1 |
| 23425asda3afaa | 1 | 1 |
-------------------------------
C-table
------------------------
| c_id | c_name | price |
------------------------
| 1 | book | 1000 |
| 2 | comic | 100 |
| 3 | notes | 10 |
-------------------------
如果要按项目名称分组并获取总数
select u.name,count(*) as count, c.c_name, c.price*count(*) as totalPrice from user u
inner join transaction t on u.uid=t.uid
inner join ctable c on c.c_id=t.c_id
group by c.c_name
如果要查询所有事务
select u.name, c.c_name, c.price from user u
inner join transaction t on u.uid=t.uid
inner join ctable c on c.c_id=t.c_id
如果您只想返回上次交易信息
select u.name, c.c_name, c.price from user u
inner join transaction t on u.uid=t.uid
inner join ctable c on c.c_id=t.c_id
order by t.transaction_id desc limit 1
还有一件事。如果字段名是一致的,那么这是一种更好的做法 欢迎来到SO。请参阅: