To com um problema que ta me deixando doido da vida, já tive ajuda de uns amigos mas nada resolveu, vou explicar:
Estou tentando fazer um filtro, mas estou me enrolando na parte do select, vou tentar explicar.
É um sistema de transportadora, onde um usuario escolhe a cidade origem e cidade destino, então o sistema deveria retornar as transportadoras que atendam a essas duas cidades.
Meu sistema tem as seguintes tabelas:
mrh mrh_cidade mrh_transportadora
- cod_mrh - fk cod_cid - fk cod_transp
- nome - fk cod_mrh - fk cod_mrh
- fk cod_estado
Fiz dois select, esse com inner join:
SELECT transportadora.cod_transp, nome
FROM mrh_transportadora
INNER JOIN transportadora ON transportadora.cod_transp = mrh_transportadora.cod_transp
INNER JOIN mrh_cidade ON mrh_cidade.cod_mrh = mrh_transportadora.cod_mrh
WHERE mrh_cidade.cod_cid
IN ( 13, 14 )
GROUP BY cod_transp
E esse:
SELECT t.nome, t.cod_transp
FROM transportadora t, cidade c, mrh, mrh_transportadora mt, mrh_cidade mc
WHERE c.cod_cid = mc.cod_cid
AND mrh.cod_mrh = mc.cod_mrh
AND t.cod_transp = mt.cod_transp
AND mrh.cod_mrh = mt.cod_mrh
AND c.cod_cid
IN (
'13', '14'
)
No inicio achei que tava certo, mas ta acontecendo o seguinte, vamos supor:
A transportadora A, B atendem as cidades de codigo 14, 15. A transportadora C atende 14, 15 e 33.
Se eu faço o select com 13 e 14, me aparece todas as transportadoras.
Se eu faço o select com 15 e 33, me aparece só uma transportadora.
Mas se faço o select com 14 e 33 me aparece todas as transportadoras, mas no caso do meu filtro não deveria aparecer nenhum, porque nenhuma transportadora atende a essas duas cidades.
Galera desculpa se ta grande aqui, tentei explicar da melhor forma possivel.
Pergunta
Eder Cuer
Eae galera, acabei de me cadastrar :rolleyes:
To com um problema que ta me deixando doido da vida, já tive ajuda de uns amigos mas nada resolveu, vou explicar:
Estou tentando fazer um filtro, mas estou me enrolando na parte do select, vou tentar explicar.
É um sistema de transportadora, onde um usuario escolhe a cidade origem e cidade destino, então o sistema deveria retornar as transportadoras que atendam a essas duas cidades.
Meu sistema tem as seguintes tabelas:
Fiz dois select, esse com inner join: E esse:No inicio achei que tava certo, mas ta acontecendo o seguinte, vamos supor:
A transportadora A, B atendem as cidades de codigo 14, 15. A transportadora C atende 14, 15 e 33.
Se eu faço o select com 13 e 14, me aparece todas as transportadoras.
Se eu faço o select com 15 e 33, me aparece só uma transportadora.
Mas se faço o select com 14 e 33 me aparece todas as transportadoras, mas no caso do meu filtro não deveria aparecer nenhum, porque nenhuma transportadora atende a essas duas cidades.
Galera desculpa se ta grande aqui, tentei explicar da melhor forma possivel.
Quem puder me ajudar eu agradeço.
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados