请帮帮我。
我有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尝试它时它工作并返回值。
谢谢
答案 0 :(得分:0)
分为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_函数。