Ir para conteúdo
Fórum Script Brasil

Gigabyte

Membros
  • Total de itens

    137
  • Registro em

  • Última visita

Tudo que Gigabyte postou

  1. Olá janius. Insisto na utilização do regexp_replace, que utilizando a tabela criada pelo Kakao, retorna no formato desejado: drop table if exists teste; create table teste ( id integer, nome text ); insert into teste (id, nome) values (1, 'Julio Cezar Andrade'), (2, 'Fenando Henrique Cardoso'), (3, 'Antonio Carlos Magalhães'), (4, 'Pedro Álvares Cabral'), (5, 'Eduardo Henrique Cunha de Farias'); SELECT nome, regexp_replace(nome, '(.*) (.*)', '\2, \1') AS nome_formatado FROM teste; "Julio Cezar Andrade";"Andrade, Julio Cezar" "Fenando Henrique Cardoso";"Cardoso, Fenando Henrique" "Antonio Carlos Magalhães";"Magalhães, Antonio Carlos" "Pedro Álvares Cabral";"Cabral, Pedro Álvares" "Eduardo Henrique Cunha de Farias";"Farias, Eduardo Henrique Cunha de" ...
  2. Legal, vi que você está no caminho certo, porém apenas a 16 da lista acima está correta. No item 14, existe uma forma mais usual para realizar a consulta, então pela primeira vez, vou te dar a resposta... mas só porque você se esforçou! :P SELECT m.nome AS marca FROM sin4.marca AS m INNER JOIN sin4.produto AS p ON (m.id_marca = p.id_marca) INNER JOIN sin4.item AS i ON (p.id_prod = i.id_prod) INNER JOIN sin4.nota AS n ON (i.id_nota = n.id_nota) WHERE (n.dt_nota BETWEEN '2013-11-01 00:00:00' AND '2013-11-30 23:59:59') Minha sugestão pra você é dar uma olhada em como funciona os "JOINS". E é claro, faltou um dos itens principais na consulta... o filtro pelo mês de novembro, que na query acima, coloquei no "WHERE" utilizando o campo dt_nota. No item 15 você comete um erro comum para quem está iniciando e mandou um "SUM" em um campo de texto. SELECT t.descricao, COUNT(p.id_pagamento) AS quantidade FROM sin4.tipo_pagamento AS t INNER JOIN sin4.pagamento AS p ON (p.id_tipo = t.id_tipo) GROUP BY t.descricao ORDER BY quantidade DESC Neste caso, é necessário trazer o campo com a descrição e fazer uma contagem de quantas vezes o tipo de pagamento é utilizado na tabela de pagamentos. Com essa estrutura, já dá pra fazer uma revisão nos outros itens também. Boa sorte!
  3. Olá Barboza Junior, Quanto à segunda questão, você pode monitorar pela sys_view pg_stat_activity SELECT * FROM pg_stat_activity;
  4. Olá Mulequim. Aparentemente o módulo do PG não está carregando no PHP. Você já tentou refazer o processo de instalação do servidor? Posta mais detalhes sobre a máquina que está rodando os servers, como OS, versão PHP, Web server, etc...
  5. Olá Lucas, Para podermos entender o que está acontecendo, seria importante avaliarmos a modelagem do banco. O que me parece é que seu banco antigo está utilizando algum tipo de dado que não é mais suportado na versão mais nova. Tente iniciar analisando se há algum tipo de campo nessas tabelas que ficam em branco, que não existam nas tabelas que migram com sucesso. Qualquer dificuldade, posta o modelo da base de dados.
  6. Olá Janius, Dá pra fazer com um comando só: SELECT regexp_replace(nome, '(.*) (.*)', '\2, \1') FROM <tabela>
  7. Vou tentar ajudar sem te dar a resposta... rs Na hora de montar uma query, o pensamento deve ser lógico e simples. No exemplo do exercício 14, para montar essa consultar, basta seguir os passos do próprio enunciado: SELECT <aqui vai o campo com nome das marcas> FROM <aqui vao as tabelas envolvidas e seus relacionamentos> WHERE <aqui vai a condição> No caso acima, você precisa identificar em qual tabela está o campo com nome das marcas (sln4.marca) e em qual está o campo da data da venda que será utilizada no condicional (sl4.nota). Daí, você consegue saber quais as tabelas estarão envolvidas para o cruzamento das informações (sl4.nota > sl4.item > sl4.produto > sl4.marca). No item 15, vale dar uma olhada nas seguintes palavras chave: SUM, GROUP BY e ORDER BY. O 16 é bem intuitivo e envolve uma única tabela, com atenção especial à parte do condicional. Você pode usar qualquer condicional de comparação para retornar resultados: < > = != O 18 também é só seguir o exemplo do 14, que você conseguirá chegar no resultado. Isto espera ter sido útil...
  8. Olá Gustavo, as questões acima são realmente básicas e se você realmente deseja ingressar no mundo dos sistemas, sugiro que não pule estas aulas e aprenda de verdade. Caso você tenha uma boa relação com a língua inglesa, comece por este tutorial: http://www.w3schools.com/sql/default.asp. Acredito que em 4h dedicadas, você consiga fazê-lo na íntegra. Senão, recomendo estas vídeo aulas: http://dev.rbtech.info/curso-de-sql-para-iniciantes-aula-1/ (eu particularmente não tenho saco pra vídeo aulas). Se você for oldstyle e preferir o papel na mão: http://sistemas.riopomba.ifsudestemg.edu.br/dcc/materiais/833034638_apostila-sql.PDF. Tem um pouco mais de teoria antes de entrar na parte prática, mas é excelente. As três opções são voltadas para o SQL genérico, que se aplica como via de regra a todos os bancos de dados populares. Caso queira um pouco mais de informações, pode revirar a biblioteca pública daqui do Scriptbrasil na divisão sobre banco de dados: https://www.scriptbrasil.com.br/apostilas/bd/ É importante lembrar que os fóruns estão aí para te ajudar a aprender e não para fazermos por você! Abraços e qualquer dúvida que pintar durante o processo de aprendizagem, posta aí! ;)
  9. Empresa top de mercado em seu nicho contrata profissionais com o seguinte perfil: Programador PHP com conhecimento exigido em HTML, CSS e MySQL. Desejável conhecimento em MVC, Linux (usuário), SVN e SOAP. Candidatos que conhecerem Magento e/ou possuirem experiência com e-commerce serão analisados com diferencial. Não haverá exigência de comprovação de experiência, porém o processo seletivo contempla prova para análise de conhecimento. CLT com benefícios e prêmio por produtividade. Horários disponíveis: 08:00 às 17:00h 09:00 às 18:00h
  10. fala rodrigo! normalmente quando eu preciso de dados da tabela, eu utilizo o information_schema, porque ele é padrão ANSI e teoricamente deveria ser igual em todos os sgbd's SELECT * FROM information_schema.colums WHERE table_schema = 'nome do schema' AND table_name = 'nome da tabela' AND column_name = 'nome do campo' []'s
  11. Opa.... beleza frodo?? Já tentou usar utf8 ao invés do latin1? ele costuma funcionar melhor na importação dos caracteres especiais. []'s
  12. Olá Cristiano Cruz Seguinte: Isso acontece porque foi feito algum tipo de insert definindo o valor do id. Isso não incrementa o serial (que infelizmente não é inteligente). Nesse caso, siga este procedimento: select (max(id)+1) from captcha; alter sequence captcha_id_seq restart [aqui vai o resultado da query anterior]; E muito cuidado em desabilitar um pkey, pois você terá ids repetidas.. !!
  13. Gigabyte

    Duvida no SQL!

    Fala rfbba!!! Particularmente prefiro usar join SELECT nomefilme FROM filme INNER JOIN personagem USING(codfilme) INNER JOIN ator USING(codator) WHERE nomeartistico = 'Jim Carrey'; !!
  14. Pra fazer em modo txt: pg_dump -h [host] -p [porta] -U [usuario] -F p -D -v -d -b -f [arquivo de saida] -n "[nome do schema]" -t "[nome das tables]" [nome do database] !!
  15. Olá Jean, sei que o POST tá um pouco antigo, mas fica pelo menos pra posteridade... rs Isso é uma questão organizacional. Não existe o certo ou errado e sim a forma normalizada ou não. Muitos puristas me jogariam na fogueira pelo que vou dizer, mas normalizar ou não depende da extensão da sua aplicação... mas quanto à sua pergunta eu certamente manteria o pedido em duas tabelas: Emprestimo(id_emprestimo, cliente, data_locacao, data_fechamento, valor_pago) Itens(id_item, id_emprestimo(FK), midia(?), data_prev_devolucao, data_devolucao)
  16. Olá Luara.... A sintaxe corretado dump : pg_dump -h [número do ip do host] -p [porta de conexão] -U [usuário] -D -v -d -b -f [path/nome do arquivo] [nome da base de dados] pg_dump -h 127.0.0.1 -p 5432 -U postgres -D -v -d -b -f banco.sql controlegastos A propósito... não desiste não! Depois que eu passei a conhecer o PG melhor, não quero mais voltar pro MY, se bem que isso é questão de gosto pessoal :P
  17. Olá rui... Se pude entender bem, seria algo assim: select diario.* from diario inner join (select * from diario where id in (select max(id) as maxid from diario group by nome_pessoa)) AS ult_penteado on ( diario.nome_pessoa = ult_penteado.nome_pessoa and diario.penteado = ult_penteado.penteado and diario.data != ult_penteado.data )
  18. Olá josehw... Você precisará utilizar uma função de gatilho (trigger function). Segue um bom exemplo: trigger
  19. Gigabyte

    Postgres Não Inicia

    Olá ametz... O ideal seria se você tivesse a descrição do erro ao tentar iniciar o serviço manualmente... sem isso fica muito vago.
  20. Olá Felipe.... faz uma busca por pg_dump no google.... você faz o backup com ele no linux e pg_restore pra restaurar no win
  21. Olá fenixd... Acho que o lugar ideal para postar este tópico seria na área referente a sistemas operacionais, mas vou tentar..... pelo que eu conheço de restauração do windows, é feita a restauração do registro e de alguns outros tipos de arquivo que não constam na listagem do ponto anterior, independente da sua data de última alteração, sendo assim, os dados que foram alterados não serão perdidos. Informação 95% confiável.... :blush: O ideal seria fazer um teste.
  22. Olá Rodrigo! Se você estiver utilizando o PGAdmin, não fica muito difícil.... O negócio é o seguinte: - Crie um backup em PLAIN com a opção only schema; - Abre o arquivo de texto e dá um substituir tudo no nome do schema antigo pelo novo; - Executa as queries de create; - Agora crie um backup em PLAIN com as opções insert commands e only data; - Este passo será mais fácil se você estiver no linux.... edite a linha do arquivo de backup que contém a seguinte linha: "SET search_path = schemaname_antigo, pg_catalog;" e troque schemaname_antigo pelo seu novo schemaname; - Execute as queries desse arquivo;
  23. beleza Willa?!?! Cara... um dos motivos do PG não chegar ao topo de utilização em relação aos outros DB's é justamente a ineficiência de seus apps de replicação, principalmente se comparado ao mysql e sua replicação binária. Aqui na empresa em que trabalho fizemos alguns testes com algumas ferramentas, mas nenhuma delas foi satisfatória, porém uma das mais interessantes publicou novo release. Atualmente não estou com tempo disponível para executar testes. Caso haja disponibilidade de sua parte, peço a gentileza de testar e nos dar um feedback da sua impressão quanto à sua efetividade. Segue link... pgpool II Tem também uma solução $$ que nós pretendíamos testar... Cybertec E um comparativo.. Replicação PG
  24. Olá edeilson! Bom, eu nunca fiz a instalação no Win 2003, mas tive um problema assim quando tentei instalar em um XP sem permissão de administrador, porque o windows não conseguia criar o usuário postgres. A solução foi pedir para o admin da máquina criar o usuário. Não sei se é o seu caso, mas não custa verificar.
  25. Cara..... Difícil! Tem mais detalhes do erro?
×
×
  • Criar Novo...