请帮我。
我有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_函数。