Ir para conteúdo
Fórum Script Brasil

Nfrancisco

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre Nfrancisco

Nfrancisco's Achievements

0

Reputação

  1. Pode por exemplo usar o EasyPhp, que tem o PHP, o MySQL e o Apache. Com isto pode testar o que está desenvolvendo.
  2. Obrigado pela sugestão, mas essa não vai solucionar. Assim vou pegar 8 e D. O que preciso pegar é todos os XID, com resultado D, apenas e só D, podendo o XID ser igual e o NUM diferente, mas apenas com tipo D. Se tiver o XID 8. com tipo D, repetido, preciso pegar. Mas se tiver XID 8 e o Tipo D e C, em registos diferentes, já não me interessa. A condição necessária é os XID que apenas apresentam tipo D, embora o mesmo possa estar repetido, em registos "linhas" diferentes.
  3. com base no que entendi fiz o seguinte exemplo. Criei uma tabela temporária em memória para armazenar os dados do exemplo. CREATE TEMPORARY TABLE tab_xid( xid INT, num INT, tipo CHAR(1) )ENGINE MEMORY; Carreguei os dadosINSERT INTO tab_xid(xid,num,tipo) VALUES(5,5, 'L'),(3, 8, 'S'),(1, 4, 'C'),(1, 5, 'D'),(7, 5, 'C'),(9, 3, 'C'),(8, 3, 'D'); Separei em uma consulta somente os dados em XID que tivessem apenas uma ocorrencia SELECT xid FROM tab_xid GROUP BY xid HAVING COUNT(xid)=1; Criei a consulta para que selecionasse os dados que tem o tipo "D" SELECT x1.xid, x1.num, x1.tipo FROM tab_xid x1 WHERE x1.tipo = 'D' AND x1.xid IN (SELECT x2.xid FROM tab_xid x2 GROUP BY x2.xid HAVING COUNT(x2.xid) = 1 ); Obrigado pelo exemplo. Falta apenas um pormenor. Na tabela real, podem existir mais do XID com valor D. O coódigo em anexo apenas responde se houver apenas uma. Segue o exemplo abaixo. Tabela XID | NUM | TIPO 5 5 L 3 8 S 1 4 C 1 5 D 7 5 C 8 3 D 8 5 D 1 8 F 8 9 D O que preciso pegar é apenas o XID - 8. Porque tem D, sem apresentar outros valores. Independentemente do numero de ocorrências, o que preciso de pegar é o XID que apenas tem o Tipo D. Mais uma vez, Obrigado Denis Courcy.
  4. , você já conseguiu com o select que você apresentou.Portanto não vejo lógica em seu questionamento. Antes de mais Obrigado pela sua pronta disponibilidade para me ajudar. Vou reformular, uma vez me expliquei mal. Tabela XID | NUM | TIPO 5 5 L 3 8 S 1 4 C 1 5 D 7 5 C 8 3 C 8 3 D Nesta caso se fizer a instrução mencionada, SELECT XID, NUM, Tipo FROM TAB WHERE TIPO = 'D' vai retornar XID | NUM | TIPO 1 5 D 8 3 D O que eu pretendo é obter apenas os XID com o valor D, uma vez que o XID 1, tem os valores 1 4 C 1 5 D O que eu pretendo é obter o valor 8 3 D Uma vez que o XID 8 tem apenas um valor e é D. Quero obter o XID 8 e todos os outros que apenas tem tipo D Julgo que agora ficou mais claro. Na primeira solicitação coloquei mal o valor de retorno.
  5. Boas pessoal, tenho uma tabela com a seguinte estrutura XID | NUM | TIPO 5 5 L 3 8 S 1 4 C 1 5 D 7 5 C Gostaria de obter o resultado 7 - C, ou seja apenas os XID que tem a ocorrência C e apenas a C. SELECT XID, NUM, Tipo FROM TAB WHERE TIPO = 'D' Isto apenas dá os resultados com D, todos eles. Julgo ter que usar subqueries, mas não estou a conseguir fazer. alguém poderá me ajudar?
×
×
  • Criar Novo...