xsql | R Documentation |
Construye expresión SQL
xsql(
x = list(),
whr = character(),
ord = character(),
qby = character(),
joi = character()
)
x |
lista de lista de character |
whr |
character: cláusula where |
ord |
character: cláusula order by |
joi |
character: cláusula join |
gby |
character: cláusula group by |
Los nombres de las tablas y los campos respectivos involucradas en la expresión, se especifican en una lista compuesta de tantas listas como tablas intervienen en la expresión. La lista de cada tabla está compuesta de dos vectores tipo character: el primero es el nombre de la tabla; el segundo, el de los campos tomados en cuenta. Si el primero o el segundo tienen sus elementos nombrados, estos nombres se utilizarán como "alias" en el caso de la tabla, o para renombrar el campo en el resultado de la consulta (en la cláusula «as»). Si sólo hay una tabla involucrada, las listas pueden ser sustituidas por un vector.
Las cláusulas «where», «join» (inner, left, right), «order by», «order by», son opcionales y se especifican como argumentos de los correspondientes parámetros. Estas se deben introducir con la sintaxis correcta pues la función no valida eso. Si la expresión contiene un «join», se requieren dos tablas, y la cláusula «on» es completada por el argumento al parámetro "whr". El tipo de «join» se puede indicar sólo con las primeras letras; e.g in(nner)
character
xsql(list(list("tab", c("cm1", "cm2"))))
##-> "select cm1, cm2 from tab"
xsql(list(list("tab", c(x = "cm1", y = "cm2"))))
##-> "select cm1 as x, cm2 as y from tab"
xsql(list(list(a = "tab", c("cm1", "cm2"))))
##-> "select a.cm1 as x, a.cm2 as y from tab a"
tt <- list(list(a = "ta", c(w = "a", x = "b")),
list(b = "tb", c(y = "c", z = "d")))
xsql(tt, joi = "in", whr = "a.a=b.c")
##-> "select a.a as w,a.b as x, b.c as y, b.d as z ...
## from ta a, tb b inner join on a.a=b.c"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.