Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Tenho um select que retorna os seguintes registros:
id
1234
4321
5678
9876
Como faço para montar outro select com IN? Tem que ficar assim:
select * from tabela id IN (1234,4321,5678,9876)>
algo assim
select *
from tabela
where id in (select id
from tabela
where ... /*condicao anterior*/)
Não entendi bem ... Qual condição anterior?
Tenho um select que retorna os seguintes registros:
este select>
Tenho um select que retorna os seguintes registros:
este select
Sim .. meu código:
#query que retorna as buscas por subgrupo
$querybs = "select subgrupos from ti_busca where sessao='".session_id()."' and subgrupos !=''";
$resulbs = mysql_query($querybs);#condição para mostrar os subgrupos na query principal
$condSubg = " and cd_subgrupo in ({$rowbs[subgrupos]}) ";
endwhile;
#query principal
$sql = "select * from ti_produtos where 1 ".$condSubg." ";
Se eu der um echo no resultado, fica assim:
43744213
Mas preciso exibir:
4374,4213
Montagem da query:
select * from ti_produtos where cd_subgrupo in (4374,4213);
É só jogar o select que você usou pra fazer a seleção dos subgrupos dentro do "in", assim:
#query que retorna as buscas por subgrupo
$querybs = "select subgrupos from ti_busca where sessao='".session_id()."' and subgrupos !=''";
#query principal
$sql = "select * from ti_produtos where cd_subgrupo in (".$querybs.");
Que doidera.. funciona mesmo rsrsrs
Valeu galera =D
algo assim
select *
from tabela