Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R标记:创建一个SQL表,然后将其作为数据帧输出_Sql_R_R Markdown - Fatal编程技术网

R标记:创建一个SQL表,然后将其作为数据帧输出

R标记:创建一个SQL表,然后将其作为数据帧输出,sql,r,r-markdown,Sql,R,R Markdown,我正在学习如何在R和R标记中使用SQL 许多资料表明,可以使用SQL区块创建SQL表,并且output.var需要位于SQL区块标记中,才能将该表输出到R数据帧中。但数据帧显示为空,代码如下: ```{r setup, include=FALSE} install.packages("RSQLite", repos = "http://cran.us.r-project.org") library(RSQLite) library(DBI) library(knitr) db <-

我正在学习如何在R和R标记中使用SQL

许多资料表明,可以使用SQL区块创建SQL表,并且
output.var
需要位于SQL区块标记中,才能将该表输出到R数据帧中。但数据帧显示为空,代码如下:

```{r setup, include=FALSE}

install.packages("RSQLite", repos = "http://cran.us.r-project.org")

library(RSQLite)
library(DBI)
library(knitr)

db <- dbConnect(RSQLite::SQLite(), ":memory:")

knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(connection = "db")

```

```{sql, connection = db, output.var = "Order_Detail"}

DROP TABLE IF EXISTS Order_Detail;

--create order table and populate records
CREATE TABLE IF NOT EXISTS Order_Detail (
    invoice_id INTEGER NOT NULL,
    invoice_line INTEGER NOT NULL,
    store_id INTEGER NOT NULL,
    time_stamp DATE NOT NULL,
    product VARCHAR(8) NOT NULL,
    units INTEGER NOT NULL,
    sales NUMERIC(7 , 2 ) NOT NULL,
    cogs NUMERIC(5 , 2 ) NOT NULL
);

INSERT INTO Order_Detail(invoice_id,invoice_line,store_id,time_stamp,product,units,sales,cogs) VALUES (1000,312,3,'2018/12/23','30',1,199.99,28.00);

```

> Order_Detail
NULL
`{r设置,include=FALSE}
install.packages(“RSQLite”,repos=”http://cran.us.r-project.org")
图书馆(RSQLite)
图书馆(DBI)
图书馆(knitr)
db订单详细信息
无效的
我忘了什么吗


谢谢。

只需在区块末尾添加一条
SELECT
语句,因为现在您只有不呈现结果集的操作查询:

...
SELECT * FROM Order_Detail
```

哇,这个问题可能是现实生活中的“小鲍比桌子”()!(尽管如果有人通过与生产数据库的连接盲目地尝试这段代码……这一教训将得到很好的借鉴。)正如我已经怀疑的那样,
SELECT
不起作用,因为它似乎没有执行
INSERT
语句,所以
Order\u Detail
表中没有任何内容。我认为在一个块中可能不支持多IP SQL语句。请尝试运行多个
dbSendQuery
,然后自行运行
SELECT
。感谢您告知。看起来现在可以了。