繁体   English   中英

使用数组创建 SQL 表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM