AntonioGraca Posted May 23, 2013 at 09:56 AM Report #508491 Posted May 23, 2013 at 09:56 AM 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
pmg Posted May 23, 2013 at 10:06 AM Report #508496 Posted May 23, 2013 at 10:06 AM (edited) 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 May 23, 2013 at 10:19 AM 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!
pikax Posted May 23, 2013 at 10:10 AM Report #508499 Posted May 23, 2013 at 10:10 AM 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."
HappyHippyHippo Posted May 23, 2013 at 10:14 AM Report #508502 Posted May 23, 2013 at 10:14 AM (edited) 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 May 23, 2013 at 10:15 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AntonioGraca Posted May 23, 2013 at 10:22 AM Author Report #508507 Posted May 23, 2013 at 10:22 AM 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
jsWizard Posted May 23, 2013 at 10:29 AM Report #508511 Posted May 23, 2013 at 10:29 AM (edited) 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!! 😄 Edited May 23, 2013 at 10:30 AM by jsWizard
pmg Posted May 23, 2013 at 10:39 AM Report #508515 Posted May 23, 2013 at 10:39 AM (edited) 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 May 23, 2013 at 10:41 AM 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!
AntonioGraca Posted May 24, 2013 at 08:27 AM Author Report #508695 Posted May 24, 2013 at 08:27 AM (edited) 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 May 24, 2013 at 09:12 AM by AntonioGraca
AntonioGraca Posted May 24, 2013 at 08:38 AM Author Report #508699 Posted May 24, 2013 at 08:38 AM (edited) 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 May 24, 2013 at 08:47 AM by AntonioGraca
AntonioGraca Posted May 24, 2013 at 09:14 AM Author Report #508706 Posted May 24, 2013 at 09:14 AM (edited) 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 May 24, 2013 at 09:34 AM by AntonioGraca
AntonioGraca Posted May 24, 2013 at 09:35 AM Author Report #508712 Posted May 24, 2013 at 09:35 AM 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!! 😄 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?
HappyHippyHippo Posted May 24, 2013 at 11:41 AM Report #508750 Posted May 24, 2013 at 11:41 AM 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 Portugol Plus
AntonioGraca Posted May 24, 2013 at 11:55 AM Author Report #508756 Posted May 24, 2013 at 11:55 AM 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
HappyHippyHippo Posted May 24, 2013 at 12:00 PM Report #508763 Posted May 24, 2013 at 12:00 PM 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 Portugol Plus
AntonioGraca Posted May 24, 2013 at 12:09 PM Author Report #508768 Posted May 24, 2013 at 12:09 PM 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... 😞
HappyHippyHippo Posted May 24, 2013 at 02:11 PM Report #508813 Posted May 24, 2013 at 02:11 PM 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 Portugol Plus
AntonioGraca Posted May 24, 2013 at 03:12 PM Author Report #508842 Posted May 24, 2013 at 03:12 PM 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 😞
jsWizard Posted May 24, 2013 at 03:19 PM Report #508845 Posted May 24, 2013 at 03:19 PM 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é" 😄
HappyHippyHippo Posted May 24, 2013 at 03:20 PM Report #508846 Posted May 24, 2013 at 03:20 PM 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 Portugol Plus
AntonioGraca Posted May 24, 2013 at 03:36 PM Author Report #508850 Posted May 24, 2013 at 03:36 PM 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é" 😄 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now