Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eduardo Villa

Problemas com subselects

Recommended Posts

Salve galera, quanto tempo hen....

 

Hoje minha cabeça não esta acompanhando o meu raciocínio e por isso estou postando minha dúvida.

 

Tenho um SELECT que retorna uma string (1,14,23,54)

 

SELECT usuarios FROM tarefas WHERE id = 40

 

E outro SELECT com mais alguns dados

 

SELECT
    usuarios.nome,
    grupos.grupo
FROM 
    usuarios
INNER JOIN grupos ON usuarios.id_grupo = grupos.id
WHERE 

    usuarios.id IN (AQUI ENTRA OS DADOS DA CONSULTA ACIMA)

Pra finalizar preciso juntar os dois SELECTs e retornar os dados nome e grupo como no segundo filtrando com o ID da tarefa (primeiro).

 

Pensei em fazer algo assim, mas não funcionou... Alguém tem algum ideia?

 

SELECT
    usuarios.nome,
    grupos.grupo, 

    (SELECT usuarios FROM tarefas WHERE id = 40) AS idusuarios
FROM 
    usuarios
INNER JOIN grupos ON usuarios.id_grupo = grupos.id
WHERE 

    usuarios.id IN (idusuarios)

 

Entenderam????

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fez assim?

 

SELECT
    usuarios.nome,
    grupos.grupo
    tarefas.usuario
FROM 
    usuarios
INNER JOIN grupos ON usuarios.id_grupo = grupos.id
INNER JOIN tarefas ON grupos.id = tarefas.id
WHERE usuarios.id IN (SELECT usuarios FROM tarefas WHERE id = 40)

Compartilhar este post


Link para o post
Compartilhar em outros sites

rockrgo,

Já havia tentando desta forma, ela retorna mas se a tabela tiver mais de um registro só exibe o primeiro...

 

Tentei até assim, mas nada... Acho que o jeito será fazer duas querys mesmo.

SELECT
    usuarios.nome, 
    grupos.grupo,
    (SELECT usuarios FROM tarefas WHERE id = 40) AS iduser 
FROM usuarios 
INNER JOIN grupos ON usuarios.id_grupo = grupos.id 
WHERE 
    usuarios.id IN (iduser)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tarefas
id

tarefas

usuarios (string: 1,15,58,12) etc...

 

Usuarios

id

id_grupo

nome*** etc...

 

Grupos

id

grupo*** etc...

 

*** Irei exibir na consulta

 

 

O problema é que não posso fazer um INNER JOIN tarefas ON tarefas.usuarios = usuarios.id, pois tarefas.usuarios é uma string então preciso arrumar um jeito de quebrar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, mas parece ter algo errado.

SELECT usuarios.nome, grupos.grupo, 
(SELECT usuarios FROM tarefas WHERE id = 40) AS iduser 
FROM usuarios INNER JOIN grupos ON usuarios.id_grupo = grupos.id WHERE usuarios.id IN (SELECT usuarios FROM tarefas WHERE id = 40)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.