Bom a tempo eu não vinha ao fórum, mas este sempre foi e sempre será um bom lugar para se esclarecer duvidas!
Vamos lá!
Estou em fim de semestre e estou fazendo um projeto interdisciplinar na faculdade, no entanto, quando eu cheguei em Banco de Dados, mas especificamente em SQL começou o terror, nunca fui bom com isso, mas consegui algumas coisas, porém, a Magu (professora) pede que eu crie algumas consultas e na hora das consultas com subconsultas eu tô pipocando!
Alguém teria uma luz para criar encima do código abaixo uma consulta com subconsulta?
create database GerLabHard use GerLabHard create table cliente (cod_cli int primary key not null, nome_cli varchar (50) not null, cpf varchar (14) not null, telefone varchar(10) not null, email varchar (50) not null) create table equipamentos (cod_equi int primary key not null, cod_cli int not null, modelo varchar (50) not null, processador varchar (20), memoria varchar (10), harddisk varchar(5), adicionais text, foreign key(cod_cli) references cliente(cod_cli)) create table funcionarios (cod_fun int primary key not null, nome_fun varchar (50) not null, cpf varchar(14) not null) create table ordemservico (cod_os int primary key not null, cod_cli int not null, cod_equi int not null, cod_fun int not null, dt_in date not null, dt_fim date not null, situacao varchar (15) not null, defeito text not null, solucao text not null, foreign key(cod_cli) references cliente(cod_cli), foreign key(cod_equi) references equipamentos(cod_equi), foreign key(cod_fun) references funcionarios(cod_fun)) --/Inserindo dados na Tabela de Clientes/-- insert into cliente values(1, 'Joselito', '300.987.657-23', '1140230707', 'joselito@uol.com.br') insert into cliente values(2, 'Manuelito', '256.853.976-43', '1140198740', 'manuelito@uol.com.br') insert into cliente values(3, 'Astrogilda', '324.098.613-88', '1140226754', 'astrogilda@uol.com.br') insert into cliente values(4, 'Beneliditina', '198.765,560-32', '1140194235', 'beneliditina@uol.com.br') insert into cliente values(5, 'Borgios', '305.191.378-25', '1140220876', 'borgios@uol.com.br') insert into cliente values(6, 'Bogos', '489.823.671-82', '1140246578', 'bogos@uol.com.br') --/Inserindo dados na Tabela de Equipamentos/-- insert into equipamentos values(1, 1, 'Computador', 'Core2Duo', '2GB', '500GB', 'nulo') insert into equipamentos values(2, 1, 'Computador', 'Core2Duo', '2GB', '500GB', 'nulo') insert into equipamentos values(3, 1, 'Laptop', 'Corei3', '4GB', '640GB', 'Maleta, carregador e midias') insert into equipamentos values(4, 2, 'Computador', 'Pentium 3', '512MB', '40GB', 'nulo') insert into equipamentos values(5, 2, 'Computador', 'Penitum Dual', '2GB', '250GB', 'nulo') insert into equipamentos values(6, 2, 'Computador', 'Pentium Dual', '2GB', '160GB', 'nulo') insert into equipamentos values(7, 3, 'Computador', 'Corei7', '8GB', '2TB', 'nulo') insert into equipamentos values(8, 3, 'Computador', 'DualCore', '2GB', '320GB', 'nulo') insert into equipamentos values(9, 3, 'Laptop', 'Corei5', '4GB', '640GB', 'Maleta, carregador') insert into equipamentos values(10, 4, 'Computador', 'Pentium 3', '512MB', '40GB', 'nulo') insert into equipamentos values(11, 4, 'Computador', 'Penitum Dual', '2GB', '250GB', 'nulo') insert into equipamentos values(12, 4, 'Computador', 'Pentium Dual', '2GB', '160GB', 'nulo') insert into equipamentos values(13, 5, 'Laptop', 'Corei5', '4GB', '640GB', 'nulo') insert into equipamentos values(14, 6, 'Computador', 'Pentium 4', '1024MB', '80GB', 'nulo') insert into equipamentos values(15, 6, 'Computador', 'Penitum Dual', '1GB', '160GB', 'nulo') --/Inserindo dados na Tabela de Funcionário/-- insert into funcionarios values(1, 'Tutancamon', '331.789.657-21') insert into funcionarios values(2, 'Hamsef', '431.779.617-29') insert into funcionarios values(3, 'Dionisyus', '531.989.652-76') --/Inserindo dados na Tabela de Ordens de Serviço/-- insert into ordemservico values(1, 3, 8, 2, '03/12/2011', '04/12/2011', 'Concluido', 'Micro reinicia frequentemente.', 'Troca da memória RAM, limpeza interna, troca de pasta térmica.') insert into ordemservico values(2, 2, 4, 1, '03/12/2011', '03/12/2011', 'Concluido', 'Alerta de vírus ao iniciar o computador.', 'Atualização de Antivirus e S.O., varredura de antivirus e HiJackThis.') insert into ordemservico values(3, 2, 6, 1, '03/12/2011', '05/12/2011', 'Concluido', 'Reinstalar o Windows.', 'Nulo.') insert into ordemservico values(4, 6, 15, 3, '04/12/2011', '04/12/2011', 'Concluido', 'Tela esverdeada.', 'Instalação de uma placa de video.') insert into ordemservico values(5, 4, 10, 1, '04/12/2011', '04/12/2011', 'Concluido', 'Office demora para iniciar e o excel trava ao executar fórmulas.', 'Reinstalação do pacote Office e atualização do Office e do Windows.') insert into ordemservico values(6, 4, 11, 3, '05/12/2011', '06/12/2011', 'Concluido', 'Antivirus não atualiza mais.', 'Instalação do PandaAntivirus (FREE) e atualização do mesmo.') insert into ordemservico values(7, 5, 13, 1, '05/12/2011', '07/12/2011', 'Concluido', 'Nulo.', 'Reinstalação do Windows e aplicativos.') insert into ordemservico values(8, 4, 10, 2, '05/12/2011', '07/12/2011', 'Concluido', 'Office continua travando.', 'Backup e formatação do Windows.') insert into ordemservico values(9, 1, 3, 2, '06/12/2011', '06/12/2011', 'Concluido', 'Não reconhece nenhuma pendrive.', 'Reversão de driver USB.') insert into ordemservico values(10, 3, 7, 3, '06/12/2011', '06/12/2011', 'Aprovado', 'Windows não inicia mais, não pode perder os arquivos.', 'Nulo.') --/Consultar equipamentos de cada cliente/-- SELECT cod_equi AS codigo, modelo, processador, memoria, harddisk, adicionais, nome_cli AS cliente, telefone, email FROM equipamentos AS e INNER JOIN cliente AS c ON e.cod_cli = c.cod_cli --/Consultar OS de cada funcionário/-- SELECT cod_os AS codigo, dt_in AS inicio, dt_fim AS final, situacao, defeito, solucao, nome_fun AS nome FROM ordemservico AS o INNER JOIN funcionarios AS f ON o.cod_fun = f.cod_fun --/Consultar quantidade e tipo de processadores/-- SELECT processador, COUNT(processador) AS quantidade FROM equipamentos AS e GROUP BY processador --/Consultar quantidade e tipo de processadores equivalentes a um valor/-- SELECT processador, COUNT(processador) AS quantidade FROM equipamentos AS e GROUP BY processador HAVING COUNT(processador) = 1 --/Consultar
Desde já agradeço a todos!