$db->SetQuery("SELECT G.posts,G.replies,G.jointime,G.isjoin,G.uname,M.face,M.uname,M.userid,M.mid,M.scores,Z.username,Z.uid FROM Table AS G LEFT JOIN Table1 AS M LEFT JOIN Table2 AS Z ON G.uname=M.uname=Z.username WHERE G.gid='$id' AND G.isjoin=1 ORDER BY M.scores DESC LIMIT 0,5");
这样写的三表查询,肯定是不对的,但是应该怎么写呢?
解决方案 »
- SQLColumns传入的表名字符数较多时,该函数直接崩溃跳出
- Lost connection to MySQL server at 'reading initial communication packet', syste
- 请问学数据库设计应该开什么书比较好?
- 紧急求助啊,mysql连接不上了,
- mysql高手请进,java处理中文正常,mysql.exe控制台插入数据,和显示异常
- 关于mysql or postgresql的极限性能
- 为什么MYSQL启动不了?
- 菜鸟初问:如何取得查询语句的前10行?
- mysql 可不可以模糊查詢,類似sqlserver 的 like % 語句,該怎樣實現此功能?
- 求助!如何快速从文件中读取数据导入mysql?
- java程序中线程导致mysql数据库死锁
- mysql乱码问题
查询这些出来就是结果了!其中G.uname=M.uname=Z.username 其实就是通过用户名,查出他的信息
LEFT JOIN Table2 AS Z on M.uname=Z.username
WHERE G.gid='$id' AND G.isjoin=1 ORDER BY M.scores DESC LIMIT 0,5
SELECT G.posts,
G.replies,
G.jointime,
G.isjoin,
G.uname,
M.face,
M.uname,
M.userid,
M.mid,
M.scores,
Z.username,
Z.uid
FROM Table AS G
LEFT JOIN Table1 AS M
LEFT JOIN Table2 AS Z ON Z.username = M.uname
ON M.uname = G.uname
WHERE G.gid = '$id'
AND G.isjoin = 1
ORDER BY M.scores DESC LIMIT 0, 5