Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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)Existe mais de um registro com o id = 40? Como está a estrutura destas tabelas?
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...
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)
Já fez assim?
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)