使用连接多个表时如何使用select *?

时间:2015-01-26 14:41:01

标签: php mysql

如何在使用连接多个表时使用select *

我可以使用SELECT * , max(i_test.num)来选择表格h_testi_testmax(i_test.num)

中的所有列

喜欢这段代码

$SQL = "SELECT * , max(i_test.num) FROM h_test INNER JOIN i_test ON i_test.pro_id = h_test.pro_id
        WHERE h_test.pro_id != '0' AND i_test.num > '5' GROUP BY h_test.pro_id order by i_test.num desc ";

2 个答案:

答案 0 :(得分:2)

你应该使用select h_test.*, i_test.*
即,在使用加入查询时,您应该使用select table_name.*

答案 1 :(得分:0)

聚合函数(MAX,SUM,COUNT等)需要'group by'子句 此外,'group by'必须列出select子句中列出的所有不在聚合函数中的字段。
例如:

SELECT fld1, fld2, fld3, COUNT(fld4), SUM(fld5)
FROM myTable
GROUP BY fld1, fld2, fld3

我看过没有group by子句使用的聚合但这是一个奇怪的,而不是SQL标准,我不确定是什么意思。