Jump to content

Recommended Posts

Posted (edited)

Boas

tenho a tabela rotas com os campos id,local1 e local2. Depois tenho a tabela locais com o id e o nome

Basicamente quero fazer uma listagem à tabela rotas, que me devolvia o nome do local 1 e 2.

Para tal tenho de fazer o join em dois campos da rotas. Qual a melhor maneira de fazer esta query?

Desde já agradeço

Edited by fil79

MCITP-MCTS-MCP

Posted

é isso, obrigado. Agora uma outra questão, esse sql devolve-me os dois campos "nome" (origem e destino), sem distinção, de alguma forma vou ter de os distinguir para depois os listar.

MCITP-MCTS-MCP

Posted

Especifica as colunas que queres que o query devolva (em vez do *) e dá-lhes nomes mais apropriados

select tabela1.coluna2 as nome_apropriado, tabela3.coluna2 as outro_nome ...

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted
$query="    SELECT lug1.name as origem,lug2.name as destino
           FROM posicao AS p
           INNER JOIN lugares AS lug1
	    ON p.lugar_1 = lug1.id
	    INNER JOIN lugares AS lug2
	    ON p.lugar_2 = lug2.id


                        ";

Perfeito, muito obrigado

MCITP-MCTS-MCP

Posted (edited)

agora estou com um novo problema

dentro da tabela locais existe um campo distrito, eu queria listar todos os registos dentro de um determinado distrito

SELECT lug1.distrito_id,p.preco,lug1.name as origem,lug2.name as destino
		FROM posicao AS p
   	 INNER JOIN lugares AS lug1
		ON p.lugar_1 = lug1.id
		INNER JOIN lugares AS lug2
		ON p.lugar_2 = lug2.id
		WHERE lug1.distrito_id=11

Creio que aquele WHERE deveria fazer esse filtro, mas a verdade é que devolve todos os registos da tabela

Edited by fil79

MCITP-MCTS-MCP

Posted

não sei se estou a perceber! Se eu por exemplo fizer um select à tabela lugares onde o id é 11, devolve 1000 registos

se usar a query acima devolve 3000!

MCITP-MCTS-MCP

Posted

pois foi o que pensei, mas está a devolver 3 registos triplicados no sql com o join. Mas parece de facto haver um problema nas tabelas que tenho de verificar

MCITP-MCTS-MCP

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.