java - 如何从mysql中的两个表中获取值,其中一个表不同,另一个表多个值?

标签 java mysql

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

table_one 包含以下字段: class 、 day_of_week 和 id(pk);
table_two 包含以下字段: id(fk) 、主题

我尝试的是:

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

我的报告结果如下:
星期几:** ** 科目
周日A
周日 B
星期一
星期一 B

但它应该是这样的:
星期几 主题
周日A

星期一
B

最佳答案

先生?哇,谢谢你。

我不确定我是否理解你假装的内容,但据我所知,你的结果是正确的。您编辑的代码是不可能的,因为您可能会得到

Sunday, A, B
Monday, A, B

但不是

Sunday, A
      , B

您需要的是聚合函数。在 MySQL 中,这是 GROUP_CONCAT 。在您的情况下,查询可能如下所示:

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

另请查看User defined functions .

我希望我理解你的问题并且这个答案对你有帮助。如果不对,请纠正并再次提问。

关于java - 如何从mysql中的两个表中获取值,其中一个表不同,另一个表多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21656311/

相关文章:

java - 为什么安装jdk 1.7后没有创建系统变量(路径)

java - spring boot中外键引用主键

java - MySQL Java Bukkit 插件 - 从数据库中选择

mysql - 数据库+ hibernate

mysql - 获取多对多关系中的所有记录,即使关系缺失

java - 逆向工程 : How to generate SOAP Request XML in the backend?

java - 初始化 block 和变量定义等以什么顺序执行? (在 java 中)

mysql - 聚合可能不会出现在 WHERE 子句错误中

MySQL (Wordpress) - 更新时的内部连接

mysql - 修复 MySQL 转储中的错误编码字符