阅读非常感谢,Mysql的基础上连续键值合并行,然后合并
我有如下表(图)
#id_internal type BOOK_ID Writer Title Loan_person_id Loan_Date Return_Date
120 1 1002 Writer1 Book1 2 2012-05-21 2012-06-04
131 0 1002 Writer1 Book1 2 0000-00-00 2012-05-21
134 0 1002 Writer1 Book1 2 0000-00-00 2012-05-21
153 1 1002 Writer1 Book1 2 2012-05-21 2012-06-04
162 0 1002 Writer1 Book1 2 0000-00-00 2012-05-21
165 1 1002 Writer1 Book1 2 2012-05-21 2012-06-04
252 1 1012 Writer2 Book2 2 2012-05-23 2012-06-06
253 0 1012 Writer2 Book2 2 0000-00-00 2012-05-23
383 1 1012 Writer2 Book2 2 2012-05-23 2012-06-06
389 0 1012 Writer2 Book2 2 0000-00-00 2012-05-24
13 1 1008 Writer3 Book3 3 2012-05-20 2012-06-03
创建
基本上机型我的小APPLICA!重刑学校图书馆借阅日志。
我想找出一种方法来创建一个sql语句,将执行以下操作:基于id_internal字段(显示在图片中)一次合并两行(前两行 - 更多两个等,直到没有元组存在或者最后只有一个元组),并创建一个具有更多列的新元组。
这是关于什么的是,该集合中的一行(type = 1)描述了借书借贷,即书借出的时间和应该返还给图书馆的时间。第二行(总是Loan_Date的时间为0000:00:00,字段类型= 0)描述了该书返回的真实日期。新行将包含在第一行中的所有信息以及作为新列的书的真实返回日期。对于Book_ID和Loan_person_id(对于借阅本书的读者)和TYPE分别具有值0(返回)和1(贷款)的列。
从SQL的基本到早期的中级能力,我无法正确使用GROUP BY和GROUP CONCAT。 期待解答或指示。
再次感谢, 迪诺斯
编辑:结果应该是在形式(让我们用一个视图)
Before Processing: #id_internal type BOOK_ID Writer Title Loan_person_id Loan_Date Return_Date 120 1 1002 Writer1 Book1 2 2012-05-21 2012-06-04 131 0 1002 Writer1 Book1 2 0000-00-00 2012-05-21 After processing : Keep one of two id_internal (does not matter): #id_internal type BOOK_ID Writer Title Loan_person_id Loan_Date Return_Date Real_Return_Date 120 1 1002 Writer1 Book1 2 2012-05-21 2012-06-04 2012-05-21
非常感谢
我建议发布有问题的SQL。这将有助于明确你所做的错误比所有这些文字更好。 – duffymo
对不起,我没有被允许发布图片,因为我认为。我用文字代替。非常感谢您的阅读。 –
不是表格;你尝试过的SQL。 – duffymo