作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据透视表,可将乐谱标题链接到部分列表(特定乐器的音乐)
例如,一首歌可能有主音吉他、键盘和鼓,正如您所期望的那样,数据透视表有两个指向相应歌曲部分的歌曲条目...
我有一个查询,将歌曲的所有部分名称连接到一个字段中所以你会在一个字段中得到“主音吉他、键盘、鼓”
这是查询:
select
songs.title,
group_concat(distinct songpart.partName separator ', ') as parts
from
songpart,
songpartpivot,
songs
where
songs.id=songpartpivot.songid and
songpartpivot.partid=songpart.id
group by
(songs.id)
这正是我想要的,但是我在过滤查询时遇到了麻烦,例如我可能想要所有带有鼓声部分的歌曲,只需添加
and songpartpivot.partid = ?
WHERE 子句实际上会选择具有特定属性的所有歌曲,但是我只能在连接字段中选择(单个)部分,因此应该在哪里
Lead Guitar, Bass Guitar, Drums
我只看到
Bass Guitar
选择所有带有低音吉他声部的歌曲时
如何在数据透视表或歌曲表的其他字段中选择值,同时仍然能够查看所选记录的所有部分...
根据要求:
mysql> describe songs;
+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| title | text | NO | | NULL | |
+-------+---------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
mysql> describe songpartpivot;
+--------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| songid | int(11) | NO | | NULL | |
| partid | int(11) | NO | | NULL | |
+--------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> describe songpart;
+----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | MUL | NULL | auto_increment |
| partName | text | NO | | NULL | |
+----------+---------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
最佳答案
您可能需要聚合后过滤
group by
(songs.id)
having SUM(songpartpivot.partid = ?)>0
关于mysql - 过滤 mysql 数据透视查询而不丢失所选记录的过滤字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23985460/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!