如何从mysql中的两个表中获取值,从一个表中区别开来,从另一个表中获取多个值?

时间:2014-02-09 06:56:00

标签: java mysql

我在数据库中有两个表,如:

table_one包含以下字段:class,day_of_week和id(pk);
table_two的字段如:id(fk),subject

我尝试的是:

选择不同的day_of_week,来自table_one的主题为tbl_one,table_two为tbl_two,其中tbl_one.id = tbl_two.id和class_name ='One'[?];

我的结果出现在我的报告中:  
星期几:** **科目
星期天A
周日B
星期一A
星期一B

但它应该是这样的:
星期几 科目
星期天A
                                   B
星期一A
                                   B

1 个答案:

答案 0 :(得分:0)

先生?哇,谢谢。

我不确定我很清楚你假装的是什么,但是我看到你的结果是正确的。你编辑的代码是不可能的,因为你可以得到

Sunday, A, B
Monday, A, B

但不是

Sunday, A
      , B

您需要的是agregate功能。在InMySQL中,这是GROUP_CONCAT。在您的情况下,查询可能如下所示:

SELECT day_of_week, GROUP_CONCAT(subjects) AS subjects 
FROM ...
WHERE ...
GROUP_BY subjects

另请查看User defined functions

我希望我理解你的问题,这个答案可以帮到你。如果没有,请纠正我并再次询问。