В связи с чем я решил использовать php для сортировки. Конструкция получилась ужасная и шибко обжорливая, из-за многочисленности запросов.Михаил Николаевич Алексеев
Михаил Николаевич Алексеев
Нора Борисовна Аргунова
Марк Азов, Валерий Михайловский
В. Бахревский
Шейла Барнфорд
Александр Беляев
Георгий Березко
П. Бляхин
Нина Боуден
Нина Бодэн
$res = $db->get_results("SELECT author FROM books", ARRAY_A);
foreach($res as $num => $string) {
foreach ($string as $n => $author) {
$new[$string['author']] = array ($string['author']);
$names = explode (" ", $author);
$mod = $names[2]." ".$names[0]." ".$names[1];
$mod2 = $names[1]." ".$names[0];
$mod3 = $names[0]." ".$names[1];
echo $i++." - ".$mod."<br>";
echo $ii++." - ".$mod2."<br>";
echo $iii++." - ".$mod3."<br>";
$db->query("UPDATE books SET author='$mod' WHERE author='$author'");
$db->query("UPDATE books SET author='$mod2' WHERE author='$mod3'");
}
}
Получаеться:1 - Михаил Николаевич Алексеев
2 - Михаил Николаевич Алексеев
3 - Нора Борисовна Аргунова
4 - Марк Азов
5 - В. Бахревский
6 - Шейла Барнфорд
7 - Александр Беляев
8 - Георгий Березко
9 - П. Бляхин
10 - Нина Боуден
11 - Нина Бодэн
12 - Николай Владимирович Богданов
Надо получить:1 - Алексеев Михаил Николаевич
2 - Алексеев Михаил Николаевич
3 - Аргунова Нора Борисовна
4 - Марк Азов,
5 - В. Бахревский
6 - Шейла Барнфорд
7 - Александр Беляев
8 - Георгий Березко
9 - П. Бляхин
10 - Нина Боуден
11 - Нина Бодэн
12 - Богданов Николай Владимирович
1 - Алексеев Михаил Николаевич
2 - Алексеев Михаил Николаевич
3 - Аргунова Нора Борисовна
4 - Азов Марк
5 - Бахревский В.
6 - Барнфорд Шейла
7 - Беляев Александр
8 - Березко Георгий
9 - Бляхин П.
10 - Боуден Нина
11 - Бодэн Нина
12 - Богданов Николай Владимирович
Так... После первого запроса корректно выглядят строки с тремя словами. Строки с двумя, естественно не затронуты.Автор оригинала: bkonst
Посмотри, что у тебя будет в таблице после выполнения первого запроса. Обрати внимание, что он всегда меняет запись.