[英]Create an SQL table with arrays
我有个问题! 我真的不知道怎么解释,所以我来说明一下!
我知道如何在 SQL 上制作具有这种形状的表格:
var data = {
"news" :[
{
"title" : "I am the title 1",
"number of views" : 28,
"text" : "Here is the text",
"date of publication" : "13 March"
},
{
"title" : "I am the title 2",
"number of views" : 57,
"text" : "Here is the text",
"date of publication" : "24 May"
]
},
{
"title" : "I am the title 3",
"number of views" : 74,
"text" : "Here is the text",
"date of publication" : "27 May"
}
]
};
现在我希望能够创建一个具有这种形状的表格:
var data = {
"staff member" :[
{
"First name" : "John",
"Last name" : "Doe",
"schedules" : [
"Friday : 14h - 22h",
"Saturday : 10h - 19h",
"Sunday : 10h - 19h"
]
},
{
"First name" : "Amelia",
"Last name" : "Doe",
"schedules" : [
"Friday : 18h - 23h",
"Saturday : 9h - 17h",
"Sunday : 8h - 20h"
]
}
]
};
看到不同? 对不起,如果它有点混乱,但我真的不知道该怎么称呼它!
我认为这可以通过创建另一个表并找到自己的名字、姓氏和时间表的通用 ID 来完成。 但一定有更简单的方法,对吧?
所以我的问题很简单,这可能吗? 如果是这样,如何?
我是用 JSON 做的,但现在我想切换到 MySQL,我不知道该怎么做!
谢谢您的回答。
编辑 :
问题是关于时间表和工作人员。 因此,我必须创建 2 个不同的表并将它们之间的 ID 链接起来,以便让工作人员与他的日程安排?
SQL 不支持您在代码中显示的“子表”概念。 相反,您应该创建两个单独的表,类似于:
CREATE TABLE staff_member (
staff_member_id int,
First_name varchar,
Last_name varchar
)
CREATE TABLE schedules (
staff_member_id int,
day_of_week varchar,
start_hour int,
end_hour int
)
然后您可以使用以下方法选择数据:
SELECT m.First_name, m.Last_name, s.day_of_week, s.start_hour, s.end_hour
FROM staff_member m
LEFT JOIN schedules s ON m.staff_member_id = s.staff_member_id
ORDER BY m.Last_name, m.First_name, s.day_of_week, s.start_hour, s.end_hour
当然,您可以添加WHERE
子句来选择特定信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.