multiplos querys sql

Boas
Pretendo fazer uma consulta com a seguinte query:

set @pk1 = ‘’;
set @rn1 = 1;
select * from picagens



restante query;

No phpmyadmin funciona bem mas no SC dá erro:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘set @rn1 = 1; select * from picagens … … … restante query’ at line 2

Portanto, tem a ver com o facto de ter mais do que 1 query separadas por ponto e vírgula!

Alguém me sabe dizer como resolver?

coloque em preparação do sql:

set @pk1 = ‘’;
set @rn1 = 1;

Dá na mesma o erro devido aos ponto e vírgulas.

Não há problema, eu resolvi de outra maneira só numa query:

select numero,
date(datahora),
(
case date(datahora)
when @curNum
then @curRow := @curRow + 1
else @curRow := 1 and @curNum := date(datahora) end
) as linha

from picagens p,(select @curRow := 0, @curNum := ‘’) r
order by numero, datahora

Utilizei outros nomes de variáveis.
O objectivo é fazer a numeração de linhas por grupo (neste caso : date(datahora))

Obrigado

versoes recentes do mysql nao usam mais o @.

e vc não precisa declarar as variaveis?

Não, não preciso declarar variáveis.

mas agora também não me está a numerar correctamente as linhas…
Vou ter que ver melhor a query.

Ok, problema resolvido.
Era uma questão de ordenação dos registos.

Onde está: from picagens p

Coloquei: from (select * from picagens order by datahora) p

Assim, primeiro ordena pelo campo datahora e só depois atribui o número de linha (numeração agrupada por dia --> date(datahora))

Exemplo:

Funcionario datahora

28 06-03-2014 09:00:00
28 06-03-2014 12:30:00
28 07-03-2014 14:00:00
28 07-03-2014 08:30:00
28 07-03-2014 17:30:00

Aplicando a numeração de linhas por grupo datahora fica:

Funcionario datahora linha

28 06-03-2014 09:00:00 1
28 06-03-2014 12:30:00 2
28 07-03-2014 14:00:00 2
28 07-03-2014 08:30:00 1
28 07-03-2014 17:30:00 3

Era isto mesmo que eu queria e não foi necessário utilizar variáveis na preparação SQL.

Um abraço.