MySQL:在结果中显示未找到的字符串
我有一个MySQL db表,其中一列包含字符串。我有一个字符串列表。列表中的一些字符串可以在我的表中找到,其他的则不能。请参见我的表格TableName:MySQL:在结果中显示未找到的字符串,mysql,sql,Mysql,Sql,我有一个MySQL db表,其中一列包含字符串。我有一个字符串列表。列表中的一些字符串可以在我的表中找到,其他的则不能。请参见我的表格TableName: <TableName> IntegerColumn, StringColumn 1, one 2, two 3, three 4, four 我得到两行的结果,其中只包含NULL。 我怎样才能知道哪根弦不匹配?因为我想把它们添加到db表中 Thx提前我想你想要的是“三”、“四”、“五”、“六”,如果数据库中没有这个字符串,你就要
<TableName>
IntegerColumn, StringColumn
1, one
2, two
3, three
4, four
我得到两行的结果,其中只包含NULL。我怎样才能知道哪根弦不匹配?因为我想把它们添加到db表中
Thx提前我想你想要的是“三”、“四”、“五”、“六”,如果数据库中没有这个字符串,你就要识别它 使用查询,我认为这将是艰难的。您可以使用下面的查询来获取可用字符串和计数。然后,如果您使用的是编程语言,您可以识别结果中不存在的字符串,然后继续
SELECT StringColumn, count(*) FROM TableName group by StringColumn
不确定这是否是您要查找的内容。使用以下示例
CREATE TABLE sample_table
(
id int auto_increment primary key,
details varchar(30)
);
INSERT INTO sample_table
(id, details)
VALUES
(1, 'One'),
(2, 'Two'),
(3, 'Three'),
(4, 'Four'),
(5, 'Five');
我运行了查询
SELECT * FROM TableName WHERE StringColumn NOT IN ('three', 'four', 'five', 'six');
SELECT * FROM sample_table
WHERE details NOT IN ('two', 'three', 'nine');
给出了以下各项的正确输出:
1 One
4 Four
5 Five
如果返回NULL,则在问题中没有解释某些内容。你能提供模式信息,甚至是一个答案吗?我相信你会得到一个更好的答案。这不应该这样。检查以下演示以确保代码正确。现在真正重要的是表中的数据集 以下是DDL:
create table tab1 (IntegerColumn int(2), StringColumn varchar(20));
insert into tab1 values(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four');
不清楚的。正确解释。什么是
字符串列表
这里?字符串列表是“三”、“四”、“五”、“六”。也编辑了解释,希望现在更清楚,将此标记为答案。而使用编程语言是一条必由之路。