-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
(Resolvido) Erro ao importar arquivo .SQL para o database
pergunta respondeu ao henriquefd de Denis Courcy em MySQL
Oi, Henrique! Infelizmente não tenho acesso às imagens que você informou (restrições da empresa em que trabalho). Conforme eu mencionei no post anterior, criar tabelas é fácil. O que o PHPAdmin traz é uma ferramenta para criar tabelas, mas o que precisamos é a estrutura das tabelas. você falou, em seu Tópico original, que "Peguei no sourceforge um sistema de ranking de sites em php". Você precisa encontrar o conjunto de instruções de como estas tabelas são. São arquivos de texto com a(s) instrução(ões) dentro "CREATE TABLE......." para cada tabela. -
Oi, 'Visitante' ! Seu MER está quase certo. Faço duas ressalvas: A primeira, na chave primária do item do pedido que, por mim, ficaria somente com a combinação (cod_ped, numero); A segunda no atributo do relacionamento "Realiza", pois se é um relacionamento de 1 para muitos com pedidos, então o atributo data deverá ficar na tabela de pedidos que é o lado "muitos" do relacionamento. Atributos em relacionamentos devem ser colocados quando estes podem se tornar uma tabela auxiliar. Um exemplo disso está nas relações n_árias(binárias, ternárias, etc) muitos para muitos que usam uma tabela de ligação. Exemplo: Seja a relação "Coberturas" e "planos" de seguros: Um "plano" pode muitas "coberturas" e uma "cobertura" pode estar em muitos "planos". Assim, Para a montagem do modelo físico vamos precisar de três tabelas. A tabela "coberturas", a tabela "planos" e a tabela de ligação "coberturas_planos". Esta última terá, em essência, somente os atributos de cod_plano e cod_cobertura. Porém, se você qusesse saber a data de início de vigência da cobretura em um plano este atributo ficaria na tabela "cobertura_plano". Um abraço
-
Oi, Valmir! Este parêntese Foi aberto onde? Passe o seu código, pois ele está diferente do que eu enviei no outro post.
-
(Resolvido) Erro ao importar arquivo .SQL para o database
pergunta respondeu ao henriquefd de Denis Courcy em MySQL
Oi, 'henriquefd' ! Observando o tópico original no forum de PHP (117916) verifiquei que seu problema não é com uma única tabela, mas com várias. Criar tabelas é fácil. Mas, para que haja compatibilidade entre os dados que você quer importar seria bom se você tivesse o script de criação das tabelas. Você tem? Elas devem estar junto com o script de criação do banco. As tabelas requeridas em seu tópico original no forum de PHP, são: toplista toplista_news toplista_options toplista_menu toplista_stats toplista_functions toplista_comments toplista_categories Você disse em seu tópico original Quais os arquivos que estão nesta pasta? -
chamar por coluna diferente de id, como fazer?
pergunta respondeu ao Tchello de Denis Courcy em MySQL
Está faltando as aspas para a variavel bairro. SELECT * FROM tabela WHERE bairro = "Cajuru"; -
Oi, 'Pirambu!'! Dá uma olhada nestes tutoriais Conectando MySQL com ZEOS Conectando MySQL com dbExpress
-
Oi, 'surfmaluco' ! Voce leu o o post #11 de 17/03/2008 - 10:27 ?
-
Oi, '--Junior --'! Existe a possibilidade, sim. Eu uso o ERWin que você pode adquirir da CA Computers, mas existe um freeware que trabalha com o MySQL . veja neste este link o post do amigo Micheus.
-
Oi, 'ricardogs'! O uso da cláusula ORDER BY não resolve seu problema? SELECT DISTINCT part.cenape AS cenape, part.nome AS nome, SUM(pt.venda) AS VENDAS, SUM(pt.ativacao) AS `ATIVACAO`, SUM(pt.venda + pt.ativacao) AS pontos FROM abn.br800participantes part JOIN abn.br800pontos pt ON part.cenape = pt.cenape GROUP BY part.cenape, part.nome ORDER BY pontos DESC;
-
Oi, Valmir Lopes! Vamos trabalhar como faziamos antigamente: Primeiro, crie uma tabela temporária com um único atributo do tipo CHAR. Não pode ser VARCHAR pois este segundo tipo é variável enquanto o primeiro é fixo. (Precisamos dos espaços para achar todos os atributos.) CREATE TEMPORARY TABLE tb (linha CHAR(80))ENGINE=MEMORY; Se o arquivo texto a ser importado for muito grande, utilize uma tabela permanente em vez de uma temporária, com ENGINE=MYISAM. Segundo:Importe seu arquivo para a tabela temporária. LOAD DATA INFILE "c:\\temp\\pabx.txt" INTO TABLE tb Terceiro: Tratar a importação e colocá-la na tabela correta. O tratamento é feito atributo por atributo usando diversas funções do mysql. 12345678901234567890123456789012345678901234567890123456789012345678901234567890 Date Time T Ext CO Dial Number Ring Duration Acct code CC 02/01/06 10:18AM 1 E1187 T10914 <I>3767 0'00 00:04'01 TR 02/01/06 10:17AM 1 E1157 T10105 0123136376456 00:00'28 INSERT INTO pabx (Data, Hora, status, Cmp1, Cmp2, Fone, Duracao) SELECT DATE(CONCAT(SUBSTRING(linha, 7, 2),'-',SUBSTRING(linha, 3, 2),'-20',SUBSTRING(linha, 1, 2)) AS Data, TIME(SUBSTRING(linha, 10, 5)) AS Hora, SUBSTRING(linha, 18, 1) AS status, SUBSTRING(linha, 20, 6) AS Cmp1, SUBSTRING(linha, 27, 6) AS Cmp2, SUBSTRING(linha, 34, 19) AS Fone, SUBSTRING(linha, 59, 8) AS Duracao) FROM tb WHERE linha NOT LIKE "********%" OR linha NOT LIKE " %" OR linha NOT LIKE "Date Time%"; Quarto liberação de memória da tabela temporária: DROP TEMPORARY TABLE tb
-
Esse é o contra ... mas nunca tive problemas abraço Você nunca soube.
-
Oi, K!ko! Este tipo de busca deteriora exponencialmente conforme cresce a base de dados, pois o tipo de pesquisa apresentado resulta em TABLE SCAN. Existe no Interbase/Firebird algum tipo de indexação por FULLTEXT ? Este tipo de indexação retornaria o que você deseja e evitaria o TABLE SCAN.
-
Oi, 'Pirambu!' ! Já tentou assim? ... close; sql.clear; Sql.Add('Select nome, datanascimento from Tabela'); Sql.add('Where month(Datanascimento) = :Mes'); parameters[0].values:= combobox1.text; Open; ...
-
Oi, 'Schanceller' ! como não entendo nada de ASP ou HYML vou transferir sua questão para o forum de ASP
-
Qual o banco de dados?
-
Como melhores práticas, para obter o efeito acima, você deve utilizar o BETWEEN em lugar de (periodo > 2 and periodo < 5) ou (periodo=3 or periodo=4). Exemplo:select consumo from energia where cod_filial = 3 and periodo BETWEEN 3 and 4;
-
Oi, 'Valdilei'! Entendi. Queria um exemplo para facilitar a resposta. Você pode usar a cláusula IN para realizar sua pesquisa. Exemplo: SELECT id, a1, a2, a3 FROM tab1 WHERE 1 IN (a1, a2, a3) AND 2 IN (a1, a2, a3) Ou usar o que você já estava usando antes, quando postou este tópico: Exemplo: SELECT id, a1, a2, a3 FROM tab1 WHERE (a1=1 or a2=1 or a3=1) and (a1=2 or a2=2 or a3=2); Em qualquer dos casos a pesquisa vai rodar em TABLE SCAN (não usando índice e varrendo toda a tabela, mesmo que o resultado seja somente a 1a linha)
-
Oi, 'Valdilei'! Por favor passe exemplos de tres registros, com seus respectivos conteúdos (não precisa passar o nome correto da tabela nem dos campos. Apenas um exemplo de como a tabela a ser pesquisada foi montada e carregada.)
-
Como evitar que outros usuários editem um registro ao mesmo tempo
uma questão respondeu Denis Courcy em Delphi, Kylix
Oi, Sérgio! Por solicitação do Micheus, passo a dar apoio a este tópico com o intuito de orientá-lo da melhor forma. Para tal, solicito que você informe o tipo de engine que você está utilizando em suias tabelas. InnoDB ou MyISAM ou Outro? Se Outro Qual o Engine? -
Oi,'--daiane --'! Seria interessante que você lesse o tópico Data warehouse com Mysql . Nele, já discutimos sobre os modelos e indiquei um livro muito bom para este tipo de estudo. Exemplos sobre DW você pode encontrar na net. Se quizer discutir um modelo em especial, ficarei grato em ajudar.
-
Expressão Regular para transformar uma string de busca MS-Access para
pergunta respondeu ao Tiago JS Neves de Denis Courcy em MySQL
Oi, 'Tiago JS Neves'! Não estou vendo, nenhum problema ligado ao MySQL ou ao entendimento de sua sintaxe a não ser pelo erro na apresentação da data como literal em sua comparação. O correto é: "SELECT sum(`Tabela`.`Valor`) as `Total`, max(if(`Tabela`.`Tipo`='Tipo1', 'OK', '')) as `OK`, concat('<a href=pagina.asp>', `Código`, '</a>') as `LINK` FROM `Tabela` WHERE `Tabela`.`Data`>='2008-01-01'" Pelo que entendi este é um problema de conversão de string usando a linguagem de programação que você escolheu. Sendo assim informe a linguagem que você está usando para que eu possa transferir este tópico para lá, para que você seja atendido plenamente. Mais uma coisa, Não é exigência do MySQL o uso de crase " ` " para delimitação de nome de tabela ou atributos. Este recurso é opcional. Ou seja, você pode usar assim: "SELECT sum(Tabela.Valor) as Total, max(if(Tabela.Tipo='Tipo1', 'OK', '')) as OK, concat('<a href=pagina.asp>', `Código`, '</a>') as LINK FROM Tabela WHERE Tabela.Data>='2008-01-01'" Como também, é opcional o uso do nome da tabela antes do atributo quando o select se refere a uma única tabela, apenas. Exemplo: "SELECT sum(Valor) as Total, max(if(Tipo='Tipo1', 'OK', '')) as OK, concat('<a href=pagina.asp>', `Código`, '</a>') as LINK FROM Tabela WHERE Data>='2008-01-01'" -
(Resolvido)Selecionar Linhas no DBGrid
pergunta respondeu ao João Paulo Taraciuk de Denis Courcy em Delphi, Kylix
Oi, 'João Paulo Taraciuk'! Eu tenho um dbgrid que possui um campo informando se o documento já foi impresso ou não. Quando ele está marcado como impresso o dbgrid muda automaticamente a cor das letras de azul para vermelho. Isto é feito no data set. Você não tem como fazer isto mudando a cor de fundo? para seu cliente é indiferente se está selecionado ou não. O que ele quer é que esteja destacado como se estivesse selecionado. Procure aqui no forum (lugar onde encontrei a rotina para mudança de cor) a rotina para você adaptar à sua necessidade. O código abaixo é o que eu uso em minha rotina procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin if Table1.FieldByName('Pagou').Value = True then DBGrid1.Canvas.Brush.Color := clGreen else DBGrid1.Canvas.Brush.Color := clRed; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawDataCell(Rect,Field,State); end; -
Oi, 'Tchello'! Como este não é um problema do MySQL vou transferir este post para a seção de PHP. Lá eles poderão auxiliá-lo melhor.
-
(Resolvido) Instrução SQL para buscar dados e fazer um
pergunta respondeu ao robinhocne de Denis Courcy em Delphi, Kylix
Oi, 'robinhocne' ! Cometi um erro ao escrever o select. Retire as aspas em soma. SELECT a.Codigo, a.Nome , a.DtCadastro, a.DtTeIni, sum(L.Valor)as SOMA FROM Alunos a INNER JOIN Lancamento L ON a.Codigo = L.Codigo WHERE a.tTeIni >= :d1 and L.tipo = 1 GROUP BY a.Codigo Sim. Aparecerão todas as linhas da tabela que contenha o maior número de registros (no seu caso parcelas) duplicando os campos das tabelas que contenham menos informações (neste caso o cadastro) O controle de exibição você deverá fazer via programação, para que fique no estilo master/detail. -
Oi, '--Ramon --'! Atendendo a uma solicitação do amigo Micheus, passo a dar o apoio necessário ao atendimento de sua solicitação. conforme suas tabelas A ligação enre a tabela tb_clientes e a tabela tb_status está em tb_clientes.status = tb_status.id.Sendo assim, o sql abaixo resolverá seu problema. SELECT STRAIGHT_JOIN cli.*, st.status FROM tb_clientes cli INNER JOIN tb_status st ON cli.status = st.id A cláusula STRAIGHT_JOIN força a leitura das tabelas da esquerda para a direita A cláusula INNER JOIN forçará o retorno somente onde houver registros coincidentes nas duas tabelas. Os demais não serão exibidos. Observando o layout das tabelas acima o select apresentado realizará um TABLE SCAN nas duas tabelas, degradando a performance conforme o crescimento das mesmas. Para corrigir este problema sugiro a implementação de um índice primário pelo atributo id da tabela tb_status. Respondendo ao post # O mesmo proplema é apresentado com as tabelas tb_dispesas e tb_tipo_dispesas conforme apresentado abaixo A ligação entre as duas tabelas acima está em tb_dispesas.Tipo = tb_tipo_dispesas.id. Assim, o sql seria: SELECT STRAIGHT_JOIN D.*, tpD.Descricao FROM tb_dispesas D INNER JOIN tb_tipo_dispesas tpD ON D.Tipo = tpD.id Mais uma vez, para evitar um TABLE SCAN, sugiro a inserção de um índice primário pelo atributo id na tabela tb_tipo_dispesas. É isso. Qualquer dúvida é só postar novamente.