我的列 A , B , C , D 和 X 。应计算 X 并输入数据库。我想更新phpmyadmin中的 X 列。
select last.id, (
IF(last.A IN(prev.A, prev.B, prev.C, prev.D), 1, 0) +
IF(last.B IN(prev.A, prev.B, prev.C, prev.D), 1, 0) +
IF(last.C IN(prev.A, prev.B, prev.C, prev.D), 1, 0) +
IF(last.D IN(prev.A, prev.B, prev.C, prev.D), 1, 0)
) as X
FROM
标签AS last
LEFT JOIN
标签AS prev
ON
上一页.id =
.id-1
答案 0 :(得分:1)
PHPmyAdmin与此无关:你想要的是一个SQL解决方案,使用任何媒介将它扔到数据库中。 PHPmyAdmin可能就是其中之一。
那就是说,你已经有了你的构建块。由于MySQL不允许更新表,在查询视图中自行加入,最简单的方法是通过临时表:
-- First step: Create X
CREATE TABLE temp_tab SELECT
-- your query here
;
-- second step: Propagate to your table
UPDATE tab
INNER JOIN temp_tab ON tab.id=temp_tab.id
SET tab.X=temp_tab.X
;
-- third step: clean up
DROP TABLE temp_tab
;