【问题标题】:Combine two tables based on the first table records根据第一张表记录合并两张表
【发布时间】:2015-02-07 06:24:14
【问题描述】:

我有两张这样的桌子,

  Class  |  Name     | Unit  | Year
 --------+-----------+-------+--------
  10th   |  Language |  2    | 2014
  10th   |  Maths    |  3    | 2014

第二张桌子,

      Name  | Title | Period | Syllabus
  ----------+-------+--------+-----------------------------
   Language |Unit1  | 8      | Subject1, Subject2, Subject3
   Language |Unit2  | 9      | Subject4, Subject5, Subject6
    Maths   |Unit1  | 7      | Subject1, Subject2, Subject3
    Maths   |Unit2  | 8      | Subject4, Subject5, Subject6
    Maths   |Unit3  | 9      | Subject5, Subject6, Subject7

结果应该是,

      Language

      Title | Period | Syllabus
    ----------------------------------
     Unit1  | 8      | Subject1, Subject2, Subject3
     Unit2  | 9      | Subject4, Subject5, Subject6

      Maths

      Title | Period | Syllabus
    ----------------------------------
     Unit1  | 7      | Subject1, Subject2, Subject3
     Unit2  | 8      | Subject4, Subject5, Subject6
     Unit3  | 9      | Subject5, Subject6, Subject7

第二个表结果基于第一个表名..

任何人都可以用 mysql 在 python 中帮助我吗?我非常喜欢python..

【问题讨论】:

    标签: python mysql join


    【解决方案1】:
    --To get language details:
    SELECT title, period, syllabus
    FROM Second
    WHERE Name = 'Language' --replace language with Maths here to get maths subject details
    
    --To get details from table1 and table2
    SELECT s.title, s.period, s.syllabus, r.year
    FROM Second s INNER JOIN First f
    ON f.Name = s.Name
    WHERE Name = 'Language' --replace language with Maths here to get maths subject details
    

    【讨论】:

    • 其实它是一个很大的数据库..所以我们不能手动更改数学和语言之类的主题名称..这就是问题..
    • 没找到你吗?什么意思?
    • 我们需要根据第一个表主题名称获取结果。但它是一个大型数据库,有很多从 1 到 10 的类和很多主题。所以我们不能手动更改主题名称..如果我用 jquery 或 ajax 或 python 用 mysql 得到答案会更好..
    • 所以只需获取不同的名称SELECT DISTINCT Name FROM First 并将它们存储在 python 列表中,然后您可以在每次需要说语言或数学主题时遍历列表并查询 DB,或者我建议您如果您需要将所有数据放在一起,请获取所有结果并在您的 python 代码中进行分组
    猜你喜欢
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    相关资源
    最近更新 更多