View Single Post
  #2  
Old 04-29-2016, 07:32 PM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

The way the table is set up make this a bit of a pain...

Code:
DROP TEMPORARY TABLE IF EXISTS temp_spells_classes;
CREATE TEMPORARY TABLE temp_spells_classes (
	spell_id 	INT,
	level		INT
);

DROP TEMPORARY TABLE IF EXISTS temp_spells_classes_min;
CREATE TEMPORARY TABLE temp_spells_classes_min (
	spell_id 	INT PRIMARY KEY,
	level		INT
);

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes1 FROM spells_new WHERE classes1 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes2 FROM spells_new WHERE classes2 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes3 FROM spells_new WHERE classes3 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes4 FROM spells_new WHERE classes4 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes5 FROM spells_new WHERE classes5 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes6 FROM spells_new WHERE classes6 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes7 FROM spells_new WHERE classes7 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes8 FROM spells_new WHERE classes8 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes9 FROM spells_new WHERE classes9 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes10 FROM spells_new WHERE classes10 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes11 FROM spells_new WHERE classes11 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes12 FROM spells_new WHERE classes12 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes13 FROM spells_new WHERE classes13 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes14 FROM spells_new WHERE classes14 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes15 FROM spells_new WHERE classes15 < 253;

INSERT INTO temp_spells_classes (spell_id, level)
SELECT id, classes16 FROM spells_new WHERE classes16 < 253;

INSERT INTO temp_spells_classes_min (spell_id, level)
SELECT spell_id, MIN(level)
FROM temp_spells_classes
GROUP BY spell_id;

UPDATE spells_new s
JOIN temp_spells_classes_min t ON s.id = t.spell_id
SET
	classes1 = t.level,
	classes2 = t.level,
	classes3 = t.level,
	classes4 = t.level,
	classes5 = t.level,
	classes6 = t.level,
	classes7 = t.level,
	classes8 = t.level,
	classes9 = t.level,
	classes10 = t.level,
	classes11 = t.level,
	classes12 = t.level,
	classes13 = t.level,
	classes14 = t.level,
	classes15 = t.level,
	classes16 = t.level;
	
DROP TEMPORARY TABLE IF EXISTS temp_spells_classes;
DROP TEMPORARY TABLE IF EXISTS temp_spells_classes_min;
Should put the above into a script (e.g. "example.sql") and run it with SOURCE (e.g. SOURCE "path/to/example.sql").

Back up spells_new first!!
Reply With Quote