我正在使用MySQL。我有3表,如下所示。
表:subject_Master
--------------------------
subjectId | subjectShortName
----------------------------------
1 | English
2 | French
3 | German
4 | Latin
----------------------------------
表格:class_Master
-----------------------------------
classId | className
----------------------------------
1 | Rose
2 | Dasy
3 | Lily
表:subjectAllocation
------------------------------------------
allocationId | classId | subjectId
-------------------------------------------
1 | 1 | 1,2
2 | 2 | 2,3,4
3 | 3 | 1,2,3,4
我如何获得如下的SQL结果,想获取subjectAllocation行中每个subjectId的SubjectName
ClassName | SubjectName
-------------------------------------------
Rose | English,French
Dasy | French,German,Latin
Lily | English,French,German,Latin
使用 FIND_IN_SET() 函数:
试试这个:
SELECT A.allocationId,
B.className,
GROUP_CONCAT(C.subjectShortName) AS subjectName
FROM subjectAllocation A
INNER JOIN class_Master B ON A.classId = B.classId
INNER JOIN subject_Master C ON FIND_IN_SET(C.subjectId, A.subjectId)
GROUP BY A.allocationId;
我想为某个度量的特定标记获取唯一值。例如,如果我有度量“metric\u name”有标记“tag\u name1”和“tag\u name2”: 我想获得“tag_name1”标记的唯一值:a、c、e 有点像:
问题内容: 请考虑下表: 在这里,我要找回它们是具有独特组合的记录,和。如果存在两个或多个这些字段的唯一组合,我想选择其中的第一个。 作为上表数据的示例,我需要的输出是 (由于记录3和4具有相同的组合,我想只记录3,因为它是第一次出现) 我可以使用一条SQL语句执行此操作吗? 问题答案:
问题内容: 好的,这是我的查询: 当它提取数据时,我得到了video_id的正确行,但它为其他每个类别都提取了第一行。因此,当我得到类别1的video_id的最大结果时,我得到了最大ID,但表的第一行是url,日期,标题和说明。 如何获取与最大ID结果相对应的其他列? 编辑:固定。 问题答案: 我会尝试这样的事情: 这比您自己的解决方案要快得多
我有一个像这样的mysql表: 我需要一个查询来提取具有类别“a”和“F”的文档。 示例: 请帮帮我!谢谢
我想要获取与列名相关的列值,如在policy no string中获取TXT_Policy_no等,因为excel工作表的值可以满足要求,所以我想要读取基于列名的值,以更加安全。 我的java代码:
我在代码中使用条件查询。它总是激发 相反,我想忽略查询中的一列(字段),因为该字段以字节形式存储了大量数据。导致性能问题。 有谁能给出一个主意吗? 一些更新 我在查询中添加了一个投影,它创建了一个类似... 现在问题就像..中的未知列“y4_”以及y8_和y5_的相同错误意味着关闭它给出错误的所有内容。 我把它修改成像... 而且奏效了。但是不知道在HQL里面怎么修改?