Jump to content
AntonioGraca

Vários COUNT() e vários JOIN

Recommended Posts

AntonioGraca

Olá

Não tenho muita experiência em MySQL mas vou-me desenrascando.

Tenho um problema: queria fazer uma listagem de várias tabelas usando o JOIN mas usaando também um COUNT() para somar um determinado campo em cada tabela e apresentar os dados numa única listagem. Consigo fazer o COUNT() quandoem listagens separadas, mas como fazer para apresentação conjunta?

//Dados Número de atletas//
SELECT  `User`.`id` AS `User.id`, `User`.`name` AS  `User.name`, COUNT(`Atletas`.`cf_user_id`) AS `Total.Atletas`
FROM `apo_users` AS `User` 
INNER JOIN `apo_chronoforms_data_atletas_registo` AS `Atletas` ON `User`.`id` = `Atletas`.`cf_user_id`
GROUP BY `Atletas`.`cf_user_id`
ORDER BY `User`.`name`
 
//dados Número de Marcas//
SELECT  `User`.`id` AS `User.id`, `User`.`name` AS  `User.name`, COUNT(`Marcas`.`cf_user_id`) AS `Total.Marcas`
FROM `apo_users` AS `User` 
INNER JOIN `apo_chronoforms_data_marcas_registo` AS `Marcas` ON `User`.`id` = `Marcas`.`cf_user_id`
GROUP BY  `Marcas`.`cf_user_id` 
LIMIT 0 , 30 
Junto envio imagem do pretendido...

http://infortreinoapoioaotreinador.com/images/tabelas_listagem.png

Obrigado

António Graça

Share this post


Link to post
Share on other sites
pmg

Sugestão não testada:

estás a agrupar pela 'segunda' tabela. Talvez possas agrupar pela 'primeira' tabela e meter tudo junto?

SELECT  `User`.`id` AS `User.id`, `User`.`name` AS  `User.name`, COUNT(`Atletas`.`cf_user_id`) AS `Total.Atletas`, COUNT(`Marcas`.`cf_user_id`) AS `Total.Marcas`
FROM `apo_users` AS `User`
INNER JOIN `apo_chronoforms_data_atletas_registo` AS `Atletas` ON `User`.`id` = `Atletas`.`cf_user_id`
INNER JOIN `apo_chronoforms_data_marcas_registo` AS `Marcas` ON `User`.`id` = `Marcas`.`cf_user_id`
GROUP BY `User`.`id`
ORDER BY `User`.`name`

Já agora, para quê o uso das m@%$!s das backquotes e aliases "desnecessarios"???

SELECT apo_users.id, apo_users.name, COUNT(Atletas.cf_user_id) AS TotalAtletas, COUNT(Marcas.cf_user_id) AS TotalMarcas
FROM apo_users
INNER JOIN apo_chronoforms_data_atletas_registo AS Atletas ON apo_users.id = Atletas.cf_user_id
INNER JOIN apo_chronoforms_data_marcas_registo AS Marcas ON apo_users.id = Marcas.cf_user_id
GROUP BY apo_users.id
ORDER BY apo_users.name

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
pikax

Podes fazer sub-querys:

SELECT u.ID as UserID, (SELECT COUNT(1) FROM userFiles uf WHERE uf.UserID = u.ID) as Ficheiros, (SELECT COUNT(1) FROM userFriends ufr WERE ufr.UserID = u.ID) as NumeroAmigos
 FROM User u
GROUP BY u.ID


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
HappyHippyHippo

select `USER`.id AS `USER`.id,
      `USER`.name AS `USER`.name,
      MARCAS.TOTAL,
      ATLETAS.TOTAL
 from apo_users AS `USER` inner join (select cf_user_id,
                                             count(cf_user_id) as TOTAL
                                        from apo_chronoforms_data_marcas_registo
                                       where cf_user_id = `USER`.id) as MARCAS on `USER`.id = MARCAS.cf_user_id
                          inner join (select cf_user_id,
                                             count(cf_user_id) as TOTAL
                                        from apo_chronoforms_data_atletas_registo
                                       where cf_user_id = `USER`.id) as ATLETAS on `USER`.id = MARCAS.cf_user_id

ps não testado, não me lembro se terás problemas em usar o USER dentro da subquery

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
AntonioGraca

Olá, moderador, pela resposta

Mas eu já tinha testado essa opção e retorna valores que não são corretos. Os counts estão errados e não mostra todos os utilizadores (name)

http://infortreinoapoioaotreinador.com/tabelas_listagem_atletas_marca.png

Os valores reais, quando os COUNT() são separados são os seguintes:

http://infortreinoapoioaotreinador.com/tabelas_atletas_marcas.png

http://infortreinoapoioaotreinador.com/tabelas_atletas.png

Obrigado

Share this post


Link to post
Share on other sites
jsWizard

try:

SELECT u.id AS user_id, u.name AS user_name,
COUNT(a.cf_user_id) AS total_atletas,
COUNT(m.cf_user_id) AS total_marcas
FROM apo_users AS u
LEFT JOIN apo_chronoforms_data_atletas_registo AS a ON (u.id = a.cf_user_id)
LEFT JOIN apo_chronoforms_data_marcas_registo AS m ON (u.id = m.cf_user_id)
GROUP BY u.id, u.name
ORDER BY u.name

e.. não podes usar INNER JOIN porque se uma das tabelas não retornar nenhum registo, então toda a query não irá retornar nada .. se me faço entender.

Inté!

PS: deixa-te das plicas maradas!! :D

Edited by jsWizard

Share this post


Link to post
Share on other sites
pmg

Olá, moderador, pela resposta

Mas eu já tinha testado essa opção e retorna valores que não são corretos. Os counts estão errados e não mostra todos os utilizadores (name)

Hmmm ... tou a ver ... ele faz um cross join das tabelas: 3930 = 262 * 15

Entao eu fazia uma seleccao das contagens, cada uma para a sua coluna, e depois uma soma de cada coluna para o select final

select id, nome, sum(c1), sum(c2), ... from (
   <xxx>
   union all
   <xxx>
   ...
) TUDOAOMOLHE
group by id, nome
order by nome

em que cada <xxx> vai buscar a contagem certa para a coluna certa.

Por exemplo

select id, nome, 0 as c1, count(...) as c2, ...
from ...

Ou seja, com as tuas tabelas (não testado!):

select id, name, sum(c1), sum(c2) from (
   SELECT apo_users.id, apo_users.name, COUNT(apo_chronoforms_data_atletas_registo.cf_user_id) AS c1, 0 as c2
   FROM apo_users
   INNER JOIN apo_chronoforms_data_atletas_registo ON apo_users.id = apo_chronoforms_data_atletas_registo.cf_user_id
   GROUP BY apo_chronoforms_data_atletas_registo.cf_user_id

   UNION ALL

   SELECT  apo_users.id, apo_users.name, 0 as c1, COUNT(apo_chronoforms_data_marcas_registo.cf_user_id) AS c2
   FROM apo_users
   INNER JOIN apo_chronoforms_data_marcas_registo ON apo_users.id = apo_chronoforms_data_marcas_registo.cf_user_id
   GROUP BY apo_chronoforms_data_marcas_registo.cf_user_id
) TUDOAOMOLHE
group by id, nome
order by nome

Repara que o primeiro select ... count mete o valor em c1 e 0 em c2; o segundo select ... count mete 0 em c1 e o valor em c2.

c1 + 0 + 0 + ... + 0 = c1

0 + c2 + 0 + ... + 0 = c2

0 + 0 + 0 + ... + cN = cN

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
AntonioGraca

Podes fazer sub-querys:

SELECT u.ID as UserID, (SELECT COUNT(1) FROM userFiles uf WHERE uf.UserID = u.ID) as Ficheiros, (SELECT COUNT(1) FROM userFriends ufr WERE ufr.UserID = u.ID) as NumeroAmigos
 FROM User u
GROUP BY u.ID

Olá

Para já agradeço todas os contributos.

A solução apresentada pelo pikax pareceu-me bastante interessante porque me permitia ajustar mais facilmente para o meu objetivo: fazer uma listagem com 11 colunas, cada uma de sua tabela, além das colunas do user_id e user_name.

No entanto, o código para a minha tabela resulta o seguinte erro: #1630 - FUNCTION infortr_apoio.COUNT does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual

Código:

SELECT User.id AS Userid,

(SELECT COUNT (Atletas.cf_user_id) FROM apo_chronoforms_data_atletas_registo AS Atletas

WHERE User.id = Atletas.cf_user_id) AS TotalAtletas,

(SELECT COUNT (Marcas.cf_user_id) FROM apo_chronoforms_data_marcas_registo AS Marcas

WHERE User.id = Marcas.cf_user_id) AS TotalMarcas

FROM apo_users AS User

GROUP BY Userid

Soluções?

Edited by AntonioGraca

Share this post


Link to post
Share on other sites
AntonioGraca

Hmmm ... tou a ver ... ele faz um cross join das tabelas: 3930 = 262 * 15

Entao eu fazia uma seleccao das contagens, cada uma para a sua coluna, e depois uma soma de cada coluna para o select final

select id, nome, sum(c1), sum(c2), ... from (
<xxx>
union all
<xxx>
...
) TUDOAOMOLHE
group by id, nome
order by nome

em que cada <xxx> vai buscar a contagem certa para a coluna certa.

Por exemplo

select id, nome, 0 as c1, count(...) as c2, ...
from ...

Ou seja, com as tuas tabelas (não testado!):

select id, name, sum(c1), sum(c2) from (
SELECT apo_users.id, apo_users.name, COUNT(apo_chronoforms_data_atletas_registo.cf_user_id) AS c1, 0 as c2
FROM apo_users
INNER JOIN apo_chronoforms_data_atletas_registo ON apo_users.id = apo_chronoforms_data_atletas_registo.cf_user_id
GROUP BY apo_chronoforms_data_atletas_registo.cf_user_id

UNION ALL

SELECT  apo_users.id, apo_users.name, 0 as c1, COUNT(apo_chronoforms_data_marcas_registo.cf_user_id) AS c2
FROM apo_users
INNER JOIN apo_chronoforms_data_marcas_registo ON apo_users.id = apo_chronoforms_data_marcas_registo.cf_user_id
GROUP BY apo_chronoforms_data_marcas_registo.cf_user_id
) TUDOAOMOLHE
group by id, nome
order by nome

Repara que o primeiro select ... count mete o valor em c1 e 0 em c2; o segundo select ... count mete 0 em c1 e o valor em c2.

c1 + 0 + 0 + ... + 0 = c1

0 + c2 + 0 + ... + 0 = c2

0 + 0 + 0 + ... + cN = cN

Obrigado pela resposta

Esta foi a solução que funcionou, só que é mais complexa de entender. E como preciso listar fazer 11 colunas, cada uma de sua tabela, além das colunas do user_id e user_name, tornou-se complicado para chegar à solução final.

Soluções para listar 11 colunas mas o user_name mais o user_id?

Código inicial e que funciona:

select id, name, sum(c1), sum(c2) from (

SELECT apo_users.id, apo_users.name, COUNT(apo_chronoforms_data_atletas_registo.cf_user_id) AS c1, 0 as c2

FROM apo_users

INNER JOIN apo_chronoforms_data_atletas_registo ON apo_users.id = apo_chronoforms_data_atletas_registo.cf_user_id

GROUP BY apo_chronoforms_data_atletas_registo.cf_user_id

UNION ALL

SELECT apo_users.id, apo_users.name, 0 as c1, COUNT(apo_chronoforms_data_marcas_registo.cf_user_id) AS c2

FROM apo_users

INNER JOIN apo_chronoforms_data_marcas_registo ON apo_users.id = apo_chronoforms_data_marcas_registo.cf_user_id

GROUP BY apo_chronoforms_data_marcas_registo.cf_user_id

) TUDOAOMOLHE

group by id, nome

order by nome

ps. Apenas corrigi nome para name

Preciso adicionar as seguintes tabelas com os seguintes campos:

apo_chronoforms_data_treinos_registo AS Treinos ON User.id = Treinos.cf_user_id

apo_chronoforms_data_avaliacao_registo AS Testes ON User.id = Testes.cf_user_id

apo_chronoforms_data_parametros_registo_competicoes AS Competicoes ON User.id = Competicoes.cf_user_id

apo_chronoforms_data_parametros_registo_epocas AS Epocas ON User.id = Epocas.cf_user_id

apo_chronoforms_data_parametros_registo_escaloes AS Escaloes ON User.id = Escaloes.cf_user_id

apo_chronoforms_data_parametros_registo_locais_treino_pistas AS Locais_treino_pistas ON User.id = Locais_treino_pistas.cf_user_id

apo_chronoforms_data_parametros_registo_metodos AS Metodos ON User.id = Metodos.cf_user_id

apo_chronoforms_data_parametros_registo_provas AS Provas ON User.id = Provas.cf_user_id

apo_chronoforms_data_parametros_registo_testes AS R_testes ON User.id = R_testes.cf_user_id

A coisa assim fica mais complicada.

Obrigado a todos

Edited by AntonioGraca

Share this post


Link to post
Share on other sites
AntonioGraca

select `USER`.id AS `USER`.id,
   `USER`.name AS `USER`.name,
   MARCAS.TOTAL,
   ATLETAS.TOTAL
 from apo_users AS `USER` inner join (select cf_user_id,
										  count(cf_user_id) as TOTAL
									 from apo_chronoforms_data_marcas_registo
									where cf_user_id = `USER`.id) as MARCAS on `USER`.id = MARCAS.cf_user_id
					   inner join (select cf_user_id,
										  count(cf_user_id) as TOTAL
									 from apo_chronoforms_data_atletas_registo
									where cf_user_id = `USER`.id) as ATLETAS on `USER`.id = MARCAS.cf_user_id

ps não testado, não me lembro se terás problemas em usar o USER dentro da subquery

Olá

Para já agradeço todas os contributos.

A solução do HappyHippyHippo , também com sub-query,

SELECT `USER`.id AS `USER`.id,

`USER`.name AS `USER`.name,

MARCAS.TOTAL,

ATLETAS.TOTAL

FROM apo_users AS `USER` INNER JOIN (SELECT cf_user_id,

COUNT(cf_user_id) AS TOTAL

FROM apo_chronoforms_data_marcas_registo

WHERE cf_user_id = `USER`.id) AS MARCAS ON `USER`.id = MARCAS.cf_user_id

INNER JOIN (SELECT cf_user_id,

COUNT(cf_user_id) AS TOTAL

FROM apo_chronoforms_data_atletas_registo

WHERE cf_user_id = `USER`.id) AS ATLETAS ON `USER`.id = MARCAS.cf_user_id

também resultava erro:

#1064 - 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 '.id, `USER`.name AS `USER`.name, MARCAS.TOTAL, ATLETAS.TOTA' at line 1

fui limpando as pelicas mas continua a dar erro:

SELECT USER.id AS USER.id,

USER.name AS USER.name,

MARCAS.TOTAL,

ATLETAS.TOTAL

FROM apo_users AS USER INNER JOIN (SELECT cf_user_id,

COUNT(cf_user_id) AS TOTAL

FROM apo_chronoforms_data_marcas_registo

WHERE cf_user_id = USER.id) AS MARCAS ON USER.id = MARCAS.cf_user_id

INNER JOIN (SELECT cf_user_id,

COUNT(cf_user_id) AS TOTAL

FROM apo_chronoforms_data_atletas_registo

WHERE cf_user_id = USER.id) AS ATLETAS ON USER.id = MARCAS.cf_user_id

Erro:

#1064 - 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 '.id, USER.name AS USER.name, MARCAS.TOTAL, ATLETAS.TOTAL ' at line 1

Soluções?

Edited by AntonioGraca

Share this post


Link to post
Share on other sites
AntonioGraca
Em 23/05/2013 às 11:29, jsWizard disse:

try:


SELECT u.id AS user_id, u.name AS user_name,
COUNT(a.cf_user_id) AS total_atletas,
COUNT(m.cf_user_id) AS total_marcas
FROM apo_users AS u
LEFT JOIN apo_chronoforms_data_atletas_registo AS a ON (u.id = a.cf_user_id)
LEFT JOIN apo_chronoforms_data_marcas_registo AS m ON (u.id = m.cf_user_id)
GROUP BY u.id, u.name
ORDER BY u.name
 

e.. não podes usar INNER JOIN porque se uma das tabelas não retornar nenhum registo, então toda a query não irá retornar nada .. se me faço entender.

Inté!

PS: deixa-te das plicas maradas!! :D

A solução jsWizard retornou dados errados, tantos nos totais como nos utilizadores (ver imagem em post anteriores com dados corretos)

http://infortreinoapoioaotreinador.com/jsWizard.png

Soluções?

Share this post


Link to post
Share on other sites
HappyHippyHippo

a todas as queries que dizes que tens dá erro,, olha bem para a mensagem de erro :

... right syntax to use near '.id, USER.name AS USER.name, MARCAS.TOTAL, ATLETAS.TOTAL ' at line 1

tu alteraste o SQL ...

criaste um alias com acentos e um ponto !! alias é um nome, deixa estar como te foi apresentado


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
AntonioGraca
Em 24/05/2013 às 12:41, HappyHippyHippo disse:

tu alteraste o SQL ...

criaste um alias com acentos e um ponto !! alias é um nome, deixa estar como te foi apresentado

Olá

Utilizando o código que propuseste, exatamente propuseste,

SELECT `USER`.id AS `USER`.id,
   `USER`.name AS `USER`.name,
   MARCAS.TOTAL,
   ATLETAS.TOTAL
 FROM apo_users AS `USER` INNER JOIN (SELECT cf_user_id,
										  COUNT(cf_user_id) AS TOTAL
									 FROM apo_chronoforms_data_marcas_registo
								    WHERE cf_user_id = `USER`.id) AS MARCAS ON `USER`.id = MARCAS.cf_user_id
					   INNER JOIN (SELECT cf_user_id,
										  COUNT(cf_user_id) AS TOTAL
									 FROM apo_chronoforms_data_atletas_registo
								    WHERE cf_user_id = `USER`.id) AS ATLETAS ON `USER`.id = MARCAS.cf_user_id
dá erro:
Citação

 

#1064 - 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 '.id, `USER`.name AS `USER`.name, MARCAS.TOTAL, ATLETAS.TOTA' at line 1

 

Obrigado

Share this post


Link to post
Share on other sites
HappyHippyHippo
SELECT `USER`.id AS user_id,
      `USER`.name AS user_name,
      MARCAS.TOTAL AS marcas_total,
      ATLETAS.TOTAL AS atletas_total
 FROM apo_users AS `USER` INNER JOIN (SELECT cf_user_id,
                                             COUNT(cf_user_id) AS TOTAL
                                        FROM apo_chronoforms_data_marcas_registo
                                       WHERE cf_user_id = `USER`.id) AS MARCAS ON `USER`.id = MARCAS.cf_user_id
                           INNER JOIN (SELECT cf_user_id,
                                              COUNT(cf_user_id) AS TOTAL
                                         FROM apo_chronoforms_data_atletas_registo
                                        WHERE cf_user_id = `USER`.id) AS ATLETAS ON `USER`.id = MARCAS.cf_user_id


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
AntonioGraca

Não mexi e dá

Citação

#1054 - Unknown column 'USER.id' in 'where clause'

Tentei várias opções para corrigir mas não deu... :(

Share this post


Link to post
Share on other sites
HappyHippyHippo

testado:

select `USER`.id AS user_id,
      `USER`.name AS user_name,
      MARCAS.TOTAL AS marcas_total,
      ATLETAS.TOTAL AS atletas_total
 from apo_users AS `USER` left join (select cf_user_id,
                                            COUNT(cf_user_id) AS TOTAL
                                       from apo_chronoforms_data_marcas_registo
                                   group by cf_user_id) as MARCAS on `USER`.id = MARCAS.cf_user_id
                          left join (select cf_user_id,
                                            COUNT(cf_user_id) AS TOTAL
                                       from apo_chronoforms_data_atletas_registo
                                   group by cf_user_id) as ATLETAS on `USER`.id = MARCAS.cf_user_id


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
AntonioGraca
Em 24/05/2013 às 15:11, HappyHippyHippo disse:

testado:

Olá, de novo...

Agradeço todo o esforço, mas os valores retornados (totais e users) não estão corretos. Num post anterior já coloquei imagem com os valores corretos. Envio imagem do resultado:

http://infortreinoapoioaotreinador.com/HipoTestado.png

Valores corretos (em querys separados)

http://infortreinoapoioaotreinador.com/tabelas_atletas_marcas.png

http://infortreinoapoioaotreinador.com/tabelas_atletas.png

A tua solução agrada-me porque estou a ver como utilizar este código para 11 colunas (!)

o pmg deu-me a solução, mas para 2 colunas e a solução é complexa para transformar para 11 colunas...

Soluções para listar 11 colunas mas o user_name mais o user_id?
Código inicial e que funciona:
select id, name, sum(c1), sum(c2) from (
SELECT apo_users.id, apo_users.name, COUNT(apo_chronoforms_data_atletas_registo.cf_user_id) AS c1, 0 as c2
FROM apo_users
INNER JOIN apo_chronoforms_data_atletas_registo ON apo_users.id = apo_chronoforms_data_atletas_registo.cf_user_id
GROUP BY apo_chronoforms_data_atletas_registo.cf_user_id
UNION ALL
SELECT  apo_users.id, apo_users.name, 0 as c1, COUNT(apo_chronoforms_data_marcas_registo.cf_user_id) AS c2
FROM apo_users
INNER JOIN apo_chronoforms_data_marcas_registo ON apo_users.id = apo_chronoforms_data_marcas_registo.cf_user_id
GROUP BY apo_chronoforms_data_marcas_registo.cf_user_id
) TUDOAOMOLHE
group by id, nome
order by nome

:(

Share this post


Link to post
Share on other sites
jsWizard
Em 24/05/2013 às 10:35, AntonioGraca disse:

A solução jsWizard retornou dados errados, tantos nos totais como nos utilizadores (ver imagem em post anteriores com dados corretos)

http://infortreinoapoioaotreinador.com/jsWizard.png

Soluções?

dados errados? humm.. queres dizer os utilizadores com ZERO.. isso filtras.. de resto, as contagens estão erradas.. "no way jozé" :D

Share this post


Link to post
Share on other sites
HappyHippyHippo

epa ... vamos lá ver uma coisa ...

apesar do SQL que apresentei ter um erro (tem COUNT em vez de SUM) o resultado nunca seria o apresentado se os dados forem realmente os que estás a apresentar.

é impossível que o resultado tenha essas linhas todas de "Lucínio Silva"

ou apresentas os dados reais ou testa o código apresentado sem alteração.

caso contrário não se sai da "cepa torta" !!!!!!


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
AntonioGraca
Em 24/05/2013 às 16:19, jsWizard disse:

dados errados? humm.. queres dizer os utilizadores com ZERO.. isso filtras.. de resto, as contagens estão erradas.. "no way jozé" :D

Olá

Valores corretos são estes (em querys separados). Na tua opção o António Graça tem, em ambas as colunas, 3.930 (!) Na coluna Marcas deve ter 262 e na Atletas deve ter 15...

http://infortreinoapoioaotreinador.com/tabelas_atletas_marcas.png

http://infortreinoapoioaotreinador.com/tabelas_atletas.png

Thanks

Em 24/05/2013 às 16:20, HappyHippyHippo disse:

epa ... vamos lá ver uma coisa ...

ou apresentas os dados reais ou testa o código apresentado sem alteração.

caso contrário não se sai da "cepa torta" !!!!!!

Caro amigo, HappyHippyHippo

Mais uma vez agradeço todo o esforço para alcançar a solução. Não tenho interesse nenhum em estar a adulterar as soluções que propões assim como não tenho interesse adulterar os dados que a solução retorna.

Fiz copy e colei na cx do query do SQL. Retornou os dados que enviei na imagem. Como diz o outro, foi limpinho. Não percebo como colocas a hipótese de estar a alterar os dados quando eu sou o principal interessado na solução final.

Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.