Spalten neu durchnummerieren (subselect)

Spalten neu durchnummerieren (subselect)

am 02.07.2007 18:17:30 von Nurkai

Hi @all

Mysql Version 5.0.26 auf Linux:

ich habe eine Tabelle 'Packorder'(unwichtiges weggelassen)

PA_ID =3D> auto_increment
PA_ORDER =3D> int //gibt eine Artikelsortierung an

________+________+
|PA_ID |PA_ORDER|
|1 | 1|
|2 | 3|
|3 | 4|
|4 | 7|
|5 | 9|


Es gibt keine doppelten Werte in 'PA_ORDER'


Ich möchte gern mit einem Statement die Spalte 'PA_ORDER' beginnend
mit '1'
neu durchnummerieren.

Habe folgendes probiert:

update packartikel set PA_ORDER=3D(select count(*) from packartikel b
where a.PA_ORDER>b.PA_ORDER)+1;

Meckert MySql:
'You can't specify target table 'packartikel' for update in FROM
clause';

Frage 1:
Wie löst Ihr das Problem...

Frage 2:
Hat irgendjemand ne Ahnung ob MySql (wenn ja, ab welcher Version)
solche Anweisungen in subqueries untersützt ?

thx for help Nurkai

Re: Spalten neu durchnummerieren (subselect)

am 03.07.2007 08:26:30 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Spalten neu durchnummerieren (subselect)

am 08.07.2007 01:27:19 von Nurkai

> Wir haben das Problem nicht. *g*
...
> Okay, ich nutze hier eine Sequence, was es in MySQL noch nicht gibt.

Ich hoffe ich bin doch hier richtig: http://groups.google.com/group/de.com=
pdatenbanken.mysql
(?!? ;-)

Trotzdem THX für Deinen Einsatz