我有一个包含以下数据的表
shinyApp(
ui=fluidPage(
HTML('<input type="text" id="client_time" name="client_time" style="display: none;" > '),
tags$script('
$(function() {
var time_now = new Date()
var month_now=time_now.getMonth()+1
$("input#client_time").val(time_now.getFullYear()+"-"+month_now+"-"+time_now.getDate())
});
'),
dateInput("date","Choose a date",max=Sys.Date()),
textOutput("text")
),server = function(input, output,session) {
observe({
updateDateInput(session,"date", value = as.Date(input$client_time), max = as.Date(input$client_time))
})
output$text=renderText(as.character(input$date))
}
)
我需要一个select查询来获得如下结果:
id student class
1 English 3-B
2 null null
3 null null
4 Jack OuMe
5 Richard DSA
6 Jhon Ross
7 French 5-B
8 null null
9 null null
10 Cena ADI
11 Mike Rock
12 Philip DSK
我尝试了查询,但我没有得到正确的结果
id student class classSTUD
1 English 3-B 3-B
2 null null 3-B
3 null null 3-B
4 Jack OuMe 3-B
5 Richard DSA 3-B
6 Jhon Ross 3-B
7 French 5-B 5-B
8 null null 5-B
9 null null 5-B
10 Cena ADI 5-B
11 Mike Rock 5-B
12 Philip DSK 5-B
感谢您的帮助
答案 0 :(得分:0)
您的数据库设计似乎存在严重缺陷。您需要两个表才能使其正常工作。您在同一列中混合了两种不同类别的数据,这就是您遇到问题的原因。您在同一专栏中有课程和学生。
为班级创建一个单独的表,为学生创建一个表。
我不知道为什么你的表只包含空值。
类表:
id class classcode
1 English 3-B
2 French 5-B
学生表:
id student classid
1 Jack 1
2 Richard 1
3 Jhon 1
4 Cena 2
5 Mike 2
6 Philip 2
如果我怀疑我认为你的班级代码是独一无二的,那么无论如何它们都是自然键,所以你可以这样做:
类表:
classcode class
3-B English
5-B French
学生表:
id student classcode
1 Jack 3-B
2 Richard 3-B
3 Jhon 3-B
4 Cena 5-B
5 Mike 5-B
6 Philip 5-B
我已经在学生表中留下了id字段,因为很可能在某些时候你会有两个Jacks / Richards / Jhons / whatevers,所以拥有一个唯一的id是有道理的。
如果您对所显示的数据感到困惑,我认为您遇到了麻烦。
答案 1 :(得分:0)
目前还不清楚你的数据结构究竟代表什么,但似乎你需要这样的东西:
SELECT ID, STUDENT, CLASS,
LAG((CASE WHEN CLASS LIKE '%-%' THEN CLASS END) IGNORE NULLS) OVER
(ORDER BY ID) as CLASSSTUD
FROM MYTABLE
ORDER BY ID;
答案 2 :(得分:0)
我解决了问题,我改进了Gordon Linoff回答的答案
:SETVAR userdb "DB_testing"
CREATE DATABASE $(DB_userdb)