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.
Question
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 to comment
Share on other sites
11 answers to this question
Recommended Posts