Leonardo Viana Postado Maio 18, 2009 Denunciar Share Postado Maio 18, 2009 estou fazendo um trabalho onde o enunciado ta assimApresente o nome completo dos empregados que têm “Sales” no cargo atual e que recebemcomissão (commission_pct de Employees). Utilize somente sub-consultas.minha sintaxe esta assimselect first_name, last_name from employees where commission_pct is not Null and first_name like "%Sales%" or last_name like "%Sales%"como eu tranformo ela?agradeço!abraço :rolleyes:uma imagem do banco Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Maio 19, 2009 Denunciar Share Postado Maio 19, 2009 Oi, 'Leonardo Viana'Vamos dividir seu problemas para melhor didática.A primeira dica se refere ao trecho do texto onde é pedido que apresente o nome completo dos empregadosVocê fez select first_name, last_name from employees o que está correto. Mas se fizer assim: select CONCAT(first_name, " ", last_name) AS NOME_COMPLETO from employeesficará melhor.Segunda dica. Foi pedido empregados que têm “Sales” no cargo, mas você procurou “Sales” no nome e sobrenome. "Sales" é "vendedor" em ingles. A descrição deste está no campo job_title da tabela JOBS. Para obter esta informação você deverá procurar por SELECT job_id FROM JOBS WHERE job_name = "Sales" O último ponto pedido são os empregados que que recebem comissão (commission_pct de Employees). Este você respondeu corretamente. O seu professor pediu que fossem utilizadas subconsultas. Então, juntando tudo, temos:SELECT CONCAT(first_name, " ", last_name) AS NOME_COMPLETO FROM employees WHERE job_id IN (SELECT job_id FROM JOBS WHERE job_name = "Sales") AND commission_pct IS NOT NULL; Uma nota: A forma correta para esta consulta seria:SELECT CONCAT(first_name, " ", last_name) AS NOME_COMPLETO FROM employees e INNER JOIN JOBS j ON j.job_id = e.job_id WHERE j.job_name = "Sales" AND e.commission_pct IS NOT NULL; Link para o comentário Compartilhar em outros sites More sharing options...
0 Leonardo Viana Postado Maio 19, 2009 Autor Denunciar Share Postado Maio 19, 2009 (editado) Oi, 'Leonardo Viana'Vamos dividir seu problemas para melhor didática.A primeira dica se refere ao trecho do texto onde é pedido que apresente o nome completo dos empregadosVocê fez select first_name, last_name from employees o que está correto. Mas se fizer assim: select CONCAT(first_name, " ", last_name) AS NOME_COMPLETO from employeesficará melhor.Segunda dica. Foi pedido empregados que têm “Sales” no cargo, mas você procurou “Sales” no nome e sobrenome. "Sales" é "vendedor" em ingles. A descrição deste está no campo job_title da tabela JOBS. Para obter esta informação você deverá procurar por SELECT job_id FROM JOBS WHERE job_name = "Sales" O último ponto pedido são os empregados que que recebem comissão (commission_pct de Employees). Este você respondeu corretamente. O seu professor pediu que fossem utilizadas subconsultas. Então, juntando tudo, temos:SELECT CONCAT(first_name, " ", last_name) AS NOME_COMPLETO FROM employees WHERE job_id IN (SELECT job_id FROM JOBS WHERE job_name = "Sales") AND commission_pct IS NOT NULL; Uma nota: A forma correta para esta consulta seria:SELECT CONCAT(first_name, " ", last_name) AS NOME_COMPLETO FROM employees e INNER JOIN JOBS j ON j.job_id = e.job_id WHERE j.job_name = "Sales" AND e.commission_pct IS NOT NULL;muito obrigadooo cara, você foi muito prestativoeu fiz da seguintemaneiracom sub consultas:SELECT CONCAT(first_name, " ", last_name) AS NOME_COMPLETOFROM employeesWHERE job_id IN (SELECT job_id FROM jobs WHERE job_title like "%Sales%")AND commission_pct IS not NULL;com joinsSELECT CONCAT(first_name, " ", last_name) AS NOME_COMPLETOFROM employees eINNER JOIN JOBS j ON j.job_id = e.job_idWHERE j.job_title like "%Sales%"AND e.commission_pct IS NOT NULL;ou seja eu adicionei like, porque não estava buscando Sales no titulo do jobe job_nome é job_titleobs_ dei vacilo com o sales srsrs Editado Maio 19, 2009 por Leonardo Viana Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Leonardo Viana
estou fazendo um trabalho onde o enunciado ta assim
Apresente o nome completo dos empregados que têm “Sales” no cargo atual e que recebem
comissão (commission_pct de Employees). Utilize somente sub-consultas.
minha sintaxe esta assim
select first_name, last_name from employees where commission_pct is not Null and first_name like "%Sales%" or last_name like "%Sales%"
como eu tranformo ela?
agradeço!
abraço :rolleyes:
uma imagem do banco
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados