【发布时间】:2012-03-26 06:56:22
【问题描述】:
我的数据库中有一个如下所示的表:
==========
|编号 |代码 |
=========
| 1 |一个 |
=========
| 2 | e |
=========
| 3 | r |
=========
等等。我希望能够进行查询,告诉我字母表中的哪些字母不在表中。
我原本想的是这样的查询:
SELECT REPLACE('abcdefghijklmnopqrstuvwxyz', (SELECT code FROM table), '');
并希望它会输出“defghijklmnopqrstuvwxyz”,我可以将其分解为一组未使用的字符。不幸的是,MySQL 的 REPLACE 不允许使用值表。
关于如何建立这个列表有什么建议吗?
【问题讨论】:
-
MySql 有点生疏了,但这是个好问题。我想我会首先考虑将一些东西与
WHERE NOT IN (SELECT code FROM table)结合起来 -
@DerekTomes 这就是我最初的想法。不幸的是,“FROM”表需要一个单独的整个字母表的静态表。我尝试创建一个直接表('a'、'b'、'c'...),但 FROM 字段中不允许使用该语法
-
@Col.Shrapnel 呃,我为什么需要什么?
-
如何创建另一个以 a-z 作为行的表并执行相交/减号?
-
那个愚蠢的东西。您试图以这种不同寻常的方式解决现实生活中的什么问题?