select compicada me ajudem!

1. select compicada me ajudem!

Pablo Eduardo Lima Celestino
chagas00

(usa Ubuntu)

Enviado em 16/11/2009 - 11:42h

Galera.... seguinte,

EU estou começando a me interessar e mexer em banco de dados, so que eu to querendo fazer uma consulta que não compreendi como se faz.
Vamos ao problema.

a minha select está mais ou menos assim

tenho as tabelas:
veículos
e veiculos_opcionais

a tabela veículos é a principal que tem cadastrado todos os veiculos
e a versículos é onde tem os carros que estão com opcionais.

eu queria consultar os carros que estão na tabela veiculos e queria que aparecesse os carros que tem opcional e os que estão sem opcional
na mesma consulta.

se alguem puder me ajudar... muuuito obrigadão mesm.
:D


  


2. Re: select compicada me ajudem!

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 16/11/2009 - 16:57h

use LEFT JOIN na consulta SQL
junção de tabelas


3. .

Pablo Eduardo Lima Celestino
chagas00

(usa Ubuntu)

Enviado em 16/11/2009 - 17:35h

Mais o que que quer dizer esse comando left join ?
não entendi a função


4. Re: select compicada me ajudem!

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 16/11/2009 - 21:18h

Left join é uma operação em consultas SQL para retornar todos os dados da coluna esquerda, independente de haver ou não dados na coluna da direita.

O LEFT JOIN retorna todos os elementos que estão no conjunto da esquerda (a primeira tabela), mais os elementos que estão na interseção.

O RIGHT JOIN, ao contrário, retorna todos os elementos que estão no conjunto da direita (a segunda tabela), mais os elementos que estão na interseção.

Como usar?
É usado no relacionamento das tabelas substitui INNER JOIN por LEFT JOIN para mostrar os dados da esquerda ou RIGHT JOIN para mostrar os dados da direita.

capiche?


5. Qual a diferença

Pablo Eduardo Lima Celestino
chagas00

(usa Ubuntu)

Enviado em 18/11/2009 - 12:03h

Qual a direrença do left join para right e inner ??


6. Re: select compicada me ajudem!

Celso Lira
celso.lom

(usa Debian)

Enviado em 18/11/2009 - 19:25h

Cara você precisa de uma coluna que relacione os carros com os opcionais.

Exemplo:

Database CAR

veiculos
ID|nome
1 |Celta
2 |Vectra
3 |KA

veiculos_opcionais
ID|IDC|opcionais
1 |2 |Ar, Vidro e Dir. Hid.

O campo IDC relaciona os opcionais com o ID do carro.

select veiculos.ID, veiculos.nome, veiculos_opcionais.opcionais
from CAR.veiculos left join CAR.veiculos_opcionais on veiculos.ID = veiculos_opcionais.IDC;

O retorno desse select será algo assim

ID|nome |opcionais
1 |Celta |
2 |Vectra|Ar, Vidro e Dir. Hid.
3 |KA |

Dá uma olhada no manual do MySQL
http://dev.mysql.com/doc/refman/4.1/pt/left-join-optimization.html

Falou


7. IXi

Pablo Eduardo Lima Celestino
chagas00

(usa Ubuntu)

Enviado em 19/11/2009 - 09:14h

Consegui é usando o left join mesm
é que eu não tava entendendo o pq não funcionava...
mais era porque eu tava colocando assim

from veiculos, cod_opcional, clientes
left join veiculos_modelos

ai não tava funcionando

tem que coocar from veiculos left join "o resto"

tem que colocar left join para tudo ou inner ou right.

RESOLVIDO GALERA !... VALEW !






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts