请帮我。

我有mysql查询:

SELECT GROUP_CONCAT(DISTINCT CONCAT('MAX(IF(mulai = ''',mulai,''', talenta, NULL)) AS ', QUOTE(mulai)) ORDER BY MULAI ASC ) INTO @sql FROM history_talenta;
SET @sql = CONCAT('SELECT nip, nama, DATE_FORMAT(tgl_grade_terakhir,''%d-%m-%Y'') as tgl_grade_terakhir, ', @sql, ' FROM history_talenta GROUP BY nip');
PREPARE stmt FROM @sql;
EXECUTE stmt;


我想从PHP mysql_query()运行它,但是什么都没有出现,但是当我通过phpmyadmin尝试运行时,它已经工作并返回了值。

谢谢

最佳答案

分为2个查询:

第一个查询:

SELECT GROUP_CONCAT(DISTINCT CONCAT('MAX(IF(mulai = ''',mulai,''', talenta, NULL)) AS ', QUOTE(mulai)) ORDER BY MULAI ASC ) FROM history_talenta;


将查询结果从mysql_query获取到$ sql1变量中,然后构造另一个SQL

$sql2 = "SELECT nip, nama, DATE_FORMAT(tgl_grade_terakhir,'%d-%m-%Y') as tgl_grade_terakhir, " . $sql1 . ' FROM history_talenta GROUP BY nip';


然后运行mysql_query($ sql2)。

注意:不建议使用mysql_query和所有mysql_ *函数,建议使用mysqli_函数。

10-07 22:51