Problema com o pacote "RMySQL".

Bom dia! Eu estou tentando usar o pacote "RMySQL" com o objetivo de criar um banco de dados a partir de outros (selecionando as colunas desejadas de cada um). Fiz da seguinte forma: dados <- dbGetQuery(con,paste("SELECT OBS_inmet.datahh,FCT_10km.fdata,FCT_10km.frange,OBS_inmet.newstn,FCT_10km.newstn,OBS_inmet.TempMax,FCT_10km.ftmax FROM OBS_inmet AS OBS_inmet INNER JOIN FCT_10km AS FCT_10km ON OBS_inmet.datahh=FCT_10km.fdata AND OBS_inmet.newstn=FCT_10km.newstn")) Porém "dados" só contém 29 observações, era para ser bem mais e eu não sei o motivo. Há alguma parte errada no comando? Outra dúvida: esse banco de dados é alimentado diariamente, como eu faço para selecionar datas específicas (como o mês de Agosto inteiro, pox exemplo)? P.S.: não sei se fui clara o bastante, mas desde já, agradeço!

Sua query parece OK, mas simplifique-a um pouco para minimizar chances de erros: flds <- "t1.datahh, t2.fdata, t2.frange, t1.newstn, t2.newstn, t1.TempMax, t2.ftmax" tbl <- "FROM OBS_inmet AS t1" cond <- "INNER JOIN FCT_10km AS t2 ON t1.datahh=t2.fdata AND t1.newstn=t2.newstn" sql <- paste("SELECT", flds, tbl, cond) dados <- dbGetQuery(con, sql) O seu INNER JOIN eh que deve estar reduzindo significativamente o numero de observacoes. Se vc possui um visualizador para seu banco de dados, tente executar a mesma query la... Sobre selecionar datas especificas, vc deve adicionar na query algo como 'WHERE mes > 8' (ou algo que o valha, pois depende de como seu banco de dados foi construido). b

Olá Benilton, obrigada pela ajuda, mas eu ainda não estou familiarizada com MySQL. Em que parte do comando eu devo colocar "WHERE mes > 8"? Obrigada!
From: beniltoncarvalho@gmail.com Date: Wed, 5 Oct 2011 14:33:18 +0100 To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Problema com o pacote "RMySQL".
Sua query parece OK, mas simplifique-a um pouco para minimizar chances de erros:
flds <- "t1.datahh, t2.fdata, t2.frange, t1.newstn, t2.newstn, t1.TempMax, t2.ftmax" tbl <- "FROM OBS_inmet AS t1" cond <- "INNER JOIN FCT_10km AS t2 ON t1.datahh=t2.fdata AND t1.newstn=t2.newstn" sql <- paste("SELECT", flds, tbl, cond) dados <- dbGetQuery(con, sql)
O seu INNER JOIN eh que deve estar reduzindo significativamente o numero de observacoes. Se vc possui um visualizador para seu banco de dados, tente executar a mesma query la...
Sobre selecionar datas especificas, vc deve adicionar na query algo como 'WHERE mes > 8' (ou algo que o valha, pois depende de como seu banco de dados foi construido).
b _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Esta era apenas uma ilustracao e muito provavelmente nao funcionara' no seu conjunto de dados. Voce precisa saber o nome da variavel que contem o mes e saber qual e' a codificacao usada. Dai', supondo que a variavel fosse chamada "mes" e fosse numerica, vc poria "WHERE mes > 8" ou, na verdade - respondendo especificamente sua pergunta inicial, "WHERE mes = 8" no final da query... SELECT campos FROM tabela WHERE mes = 8; b
participantes (2)
-
Benilton Carvalho
-
Juliana Freitas de Mello e Silva