php从两个字段中选择值作为数据库联合所有错误的值



我创建了以下脚本,该脚本在phpadmin中工作,但不是php脚本。有人知道为什么会产生以下解析错误吗。分析错误:语法错误,意外的"draw_id"(T_STRING(,第一行应为","或"("。我使用的是带有php7.2和mysql5.7的wamp。

SELECT * FROM (SELECT draw_id, picknum01 as n_value FROM joker union all 
SELECT draw_id, picknum02 as n_value FROM joker union all 
SELECT draw_id, picknum03 as n_value FROM joker union all 
SELECT draw_id, picknum04 as n_value FROM joker union all 
SELECT draw_id, picknum05 as n_value FROM joker) as temp;
SELECT n1, n2, n3, count(*) as total
FROM (
SELECT up1.n_value as n1, up2.n_value as n2, up3.n_value as n3
FROM unpivot up1
JOIN unpivot up2
ON up1.`id` = up2.`id`        
AND up1.n_value < up2.n_value  
JOIN unpivot up3
ON up2.`id` = up3.`id`        
AND up2.n_value < up3.n_value  
) Temp
GROUP BY n1, n2, n3
ORDER BY total desc
LIMIT 3;

我在看到评论后意识到了答案。

这是正确的版本:

$unionselect = "
SELECT * FROM (
SELECT draw_id, picknum01 as n_value FROM joker union all 
SELECT draw_id, picknum02 as n_value FROM joker union all 
SELECT draw_id, picknum03 as n_value FROM joker union all 
SELECT draw_id, picknum04 as n_value FROM joker union all 
SELECT draw_id, picknum05 as n_value FROM joker) as temp";
$unionselect2 = "
SELECT n1, n2, n3, count(*) as total
FROM (
SELECT up1.n_value as n1, up2.n_value as n2, up3.n_value as n3
FROM unpivot up1
JOIN unpivot up2
ON up1.`id` = up2.`id`        
AND up1.n_value < up2.n_value  
JOIN unpivot up3
ON up2.`id` = up3.`id`        
AND up2.n_value < up3.n_value  
) Temp
GROUP BY n1, n2, n3
ORDER BY total desc
LIMIT 3";

相关内容

最新更新