加入多个表并对结果进行排序

时间:2015-05-18 09:14:20

标签: mysql sorting join merge multiple-tables

这是我在stackoverflow中发布的第一个问题。希望你们能帮助我解决这个问题。我被困了2天。

我有6张桌子。以下都是:

生:

id    name    lastname
1     John    Snow
2     Sansa   Stark
3     T-Bag   Bagwell

student_course:

id    student_id    course_id    course_start    course_end
1     1             1            2015-06-19      2015-08-20
2     2             3            2015-07-09      2015-09-15
3     3             1            2015-05-15      2015-08-22

付款:

payment_id    student_id    course_id
1             1             1
2             2             3
3             3             1

payment_initial:

payment_id    payment_due
1             2015-06-12
3             2015-05-08

payment_installment:

payment_id    payment_due    int_payment_due
2             2015-07-02     2015-07-15

passport_visa:

student_id    passport_expiry_date    visa_expiry_date
1             2015-09-10              2015-10-12
2             2015-09-12              2015-09-15
3             2015-10-11              2015-9-28

我想要的结果是:结果将按日期组合形成3个表格,其中包含" 日期"领域。 "的日期"排序后的字段仅包括当前的日期。 如何使查询字符串为我带来如下结果:

student_id(1)    course_id(1)                     course_start(2015-06-19)
student_id(2)    course_id(3)    payment_id(2)    payment_due(2015-07-02)
student_id(2)    course_id(3)                     course_start(2015-07-09)
student_id(2)    course_id(3)    payment_id(2)    int_payment_due(2015-07-15)
student_id(1)    course_id(1)                     course_end(2015-08-20)
student_id(3)    course_id(1)                     course_end(2015-08-22)
student_id(3)                                     passport_expiry_date(2015-09-12)
.....

我想在结果中添加名称姓氏,但显示的时间过长。所以我就这样写。

我想得到的最后一个结果是日期字段(已排序),以及日期发生的事件(课程开始,课程结束,付款到期......)

对不起,如果我的英语语法不好。请帮我。谢谢大家。

1 个答案:

答案 0 :(得分:0)

我只是在将数据(具有日期字段)插入到一个表中之后收集所有结果,并在该表中对它们进行排序。这使得更多的插入查询,但易于排序。 所以我就这样做了。