- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在开发和生产服务器上运行相同的查询时遇到问题。我的应用程序存储 session 发言人和 session 。运行 MySQL 5.1 的开发服务器仅正确返回事件 session 的相关发言人,但运行 MySQL 5.0.9 的生产服务器返回多个不一定与该 session 关联的发言人。 (注意:此时我无法将生产服务器升级到 5.1。)
发言人表:
+------------+--------------+
| speaker_id | name |
+------------+--------------+
| 100 | John Doe |
| 200 | Steve Rogers |
| 300 | Tony Stark |
+------------+--------------+
session 表:
+------------+------------------+
| session_id | session_speakers |
+------------+------------------+
| 1 | [100] |
| 2 | [100,200] |
| 3 | [300] |
+------------+------------------+
SELECT
s.session_id,
GROUP_CONCAT(DISTINCT sp.name SEPARATOR ' & '),
FROM
sessions s
LEFT JOIN
speakers sp ON INSTR(s.session_speakers, sp.speaker_id)
GROUP BY
s.session_id
session_id = 1 的开发服务器结果
'John Doe'
session_id = 1 的典型生产服务器结果
'John Doe & Steve Rogers & &'
最佳答案
你应该标准化你的表格布局:
speakers
+------------+--------------+
| speaker_id | name |
+------------+--------------+
| 100 | John Doe |
| 200 | Steve Rogers |
| 300 | Tony Stark |
+------------+--------------+
和
sessions_to_speakers
+------------+------------------+
| session_id | session_speakers |
+------------+------------------+
| 1 | 100 |
| 2 | 100 |
| 2 | 200 |
| 3 | 300 |
+------------+------------------+
和
sessions
+------------+--------------+
| session_id | name |
+------------+--------------+
| 1 | Session 1 |
| 2 | Session 2 |
| 3 | Session 3 |
+------------+--------------+
然后你可以使用一个简单的“加入”来获得所有的演讲者:
SELECT * FROM speakers INNER JOIN sessions_to_speakers ON
sessions_to_speakers.session_speakers = speakers.speaker_id
WHERE sessions_to_speakers.session_id = 1;
建议:修复您的列名称。如果它不是外键,请不要重复表名。即 speaker
表的 id
应称为 id
(不是 speaker_id
) .仅当从 session_to_speaker
表中引用时,它才应称为 speaker_id
( session 和引用相同)
关于mysql - INSTR() 和 GROUP_CONCAT() 在服务器之间返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24003522/
大家早上好...我需要一些帮助将功能从 VBA 移植到 VBS 这是我的问题所基于的数据集的示例。 USA_66544_File.doc RUS_3465_File.txt 我使用该函数提取两个下划线
我反编译了一个源文件,发现了一些JVM指令,比如JVM INSTR monitorenter和JVM INSTR monitorexit。这些是什么意思? public boolean isRunni
我有一个名为 DP 的列,如图所示: 07-APR-2011 12-APR-2011 26-APR-2011 现在要检索用于选择 4 月份付款的查询,我遇到了一个查询 select * from
在这个私有(private)函数中,如果满足以下要求,我想设置一个工作表: 单元格 Z1 必须包含单词 Special_Sheet 在 Special_sheet定义为 Description 的单元
我有以下 VBA 代码,它为 InStr 函数返回“0”: If InStr("ICD-10 & CPT OPC NHSN", "JCMC ICD-10 & CPT OPC NHSN Sep-17 n
我目前的任务是改进现有的 vba 文件。但是,我无法与执行此代码的人联系。那么我可以知道 first = InStr(2, sl, ",", 1) 中的逗号是什么意思吗?因为我去在 csv 文件中查找
我有以下代码: Columns("F:F").Select For Each cell In Selection Select Case cell Case InStr(1,
我的 InStr "OR"代码有问题。此代码:If InStr(items, "harmo") Or InStr(items, "pointt") Then count_of_Harmo = coun
我不知道为什么这行不通。它是一个更大的子例程的一部分,但我已将问题缩小到在 InStr 函数中使用通配符。 我已尝试尽可能多地查找有关 InStr 和通配符的信息,并且据我所知,这应该有效。但事实并非
使用正则表达式执行“instring”类型函数的最简单方法是什么?例如,我怎么能因为存在单个字符(如 :)而拒绝整个字符串?例如: 这个 - 好的 有:是 - 因为 : 不好 更实际一点,我如何匹配以
我需要循环浏览工作簿中的所有工作表。如果工作表的名称包含文本“Benefits”,那么我需要在该工作表上作为事件工作表运行宏,然后循环到下一个工作表。 我有这段代码,(1)它以任何一种方式运行宏,并且
我有一堆包含文本的行列,例如: dog,cat,mouse bat,dog,fly fish,beaver,horse 我正在尝试搜索并突出显示包含特定单词的行: Public Sub MarkDup
现在我有一长串用户通过表单提交的“行业”值。我编写了一个宏,它将搜索这些值中的特定术语,并粘贴符合我的“可接受”行业值的小得多的列表的值。重点是将用户提交的所有当前行业值重新分类到我现有的分类法中。这
我有一个电子表格,其中项目描述的长度可变,但始终以“硬返回”结束,以强制在单元格中换行。我需要将单元格的第一行复制到另一个单元格中。 我可以使用 INSTR 查找硬回车(不可见字符)的第一个实例,然后
我仍在尝试从网页中获取一些数据,我找到了如何“grep”HTML 文本的解决方案,但现在我尝试将字符串中的文本与某些部分分开。 我想取出变量A和变量B之间的部分并使用以下代码。 我总是收到运行时错误
我正在使用 Oracle 11g 数据库,我想找到字符串最后一个字符的位置。 例如: "City=Amsterdam" 本例中的字符串是“City=”,我想得到“=”的位置。我知道 INSTR(Inp
我正在执行查询以返回表中的值,这些值是字符串 (str) 中包含的子字符串。它正在工作,但现在我想按照给定字符串中出现的顺序对结果进行排序。另外,我希望它返回重复的匹配项,并保持主字符串中的顺序。 这
我想从字符串中提取邮政编码。所以很自然地,我想到了这样的事情: substring(PERSON_ADDRESS, instr(PERSON_ADDRESS,'[0-9][0-9][0-9][0-9]
我想检查字符串是否包含字段值作为子字符串。 select * from mytable where instr("mystring", column_name); 但这不会搜索单词边界。 select
我有一个表,其中有一列以下面的方式存储数据。 | column1 | +----------------+ | [112,114] | | [112,115] | |
我是一名优秀的程序员,十分优秀!