SQL Server: Select dentro de select

3 respostas
V

Oi GUJ,
pessoal, estou com uma dúvida, eu preciso fazer a seguinte query :

Então tenho algumas dúvidas:

  1. Esta da forma mais otimizada o possível ?
  2. E por que ainda continua retornando NULL nessa parte :

Agradeço a atenção.

3 Respostas

L
SELECT id FROM actor_character WHERE character = m.as_character AND m.as_character IS NOT NULL
existe realmente um id onde m.as_character IS NOT NULL ? o valor default para o campo m.as_character é null ou é vazio?
SELECT m.movieid,  m.actorid, (SELECT id FROM actor_character WHERE character = m.as_character AND m.as_character IS NOT NULL ) FROM old_movies m WHERE m.actorid IS NOT NULL
O seu segundo select retorna mais de um elemente se não me engano para você selecionar assim o select deve retornar um único elemento.
V

luciano@@:
SELECT id FROM actor_character WHERE character = m.as_character AND m.as_character IS NOT NULL

existe realmente um id onde m.as_character IS NOT NULL ?
o valor default para o campo m.as_character é null ou é vazio?

O seu segundo select retorna mais de um elemente se não me engano para você selecionar assim o select deve retornar um único elemento.

oi Luciano,
existe valores null para m.as_character sim, e são null e não vazio.

Então cara, no meu segundo select eu queria que ele retornasse um único valor, mas não estou sabendo como formar essa query.

L

Cara não sei bem como está tua base de dados, mas provávelmente deve ter associação entre old_movie e character para você fazer um join

Tenta assim se você souber utilizar inner join fica bem melhor.

SELECT m.movieid, m.actorid, a.actor_character FROM old_movies m, character c WHERE c.character = m.as_character AND m.as_character IS NOT NULL

Criado 14 de abril de 2011
Ultima resposta 14 de abr. de 2011
Respostas 3
Participantes 2