Jump to content
Sign in to follow this  
tiko165

Comparação entre dados de querys

Recommended Posts

tiko165

Bom dia,

Estou a tentar criar uma query que me mostre uns dados em comparação com outra tabela.

Por exemplo, estou a comparar duas tabelas, em que a diferença entre elas, é o idioma.

Fazendo um while em relação aquelas duas tabelas, se tiver em "en_US" irá mostrar 3 resultados, mas se estiver em "pt_PT" irá mostrar apenas 2 resultados.

TableC1: TableC2:
id | year | name | language
1 | 2010 | abc_pt | pt_PT
2 | 2011 | cde_en | en_US
3 | 2011 | cde_pt | pt_PT
4 | 2010 | abc_en | en_US
5 | 2012 | fgh_en | en_US
id | year
1 | 2010
2 | 2011
2 | 2012

O que eu pretendia nisto, era o seguinte: (Imaginando que estou a fazer leitura em "pt_PT")

Nas tabelas em que o "year" coincidam, pretendo que seja mostrado o "name" (Até aqui, é simples, com um JOIN);

Caso não exista no idioma definido, pretendo mostrar apenas o "year", visto que existe noutro idioma.


collectioneuro300px.png

Share this post


Link to post
Share on other sites
HappyHippyHippo

a apresentação do problema está pouco clara

apresenta, para o caso/situação demonstrada nas tabelas anteriores, o resultado pretendido


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
tiko165

Fazendo um while em relação aquelas duas tabelas, se tiver em "en_US" irá mostrar 3 resultados, mas se estiver em "pt_PT" irá mostrar apenas 2 resultados.

Mostrar dados em "pt_PT" Mostrar dados em "en_US"
1 . abc_pt
2 . cde_pt
2 . cde_en
4 . abc_en
5 . fgh_en

Logo a minha ideia nisto tudo, era exibir, quando em "pt", exibir na mesma os 3 dados, mas desta forma.

While quando em PT

1 . abc_pt

2 . cde_pt

5 . 2012


collectioneuro300px.png

Share this post


Link to post
Share on other sites
HappyHippyHippo

o join que estás a fazer deverá ser o inner join, onde deverias estar a realizar a pesquisa usando o left join (supondo que a primeira tabela do query é a tabela2

ao realizar o query como referenciei acima, a query para português irá suceder com os três registos pretendidos, mas obtendo o valor NULL no registo do ano 2012.

para obter a alteração do valor pretendido do ano em vez do nome, o mais simples é fazer a projecção da query para o ano e o nome, e fazer o processo de selecção dos dados a serem apresentados através de código e não através da query de SQL


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • 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.