无论如何要知道WHERE IN子句的一组选项的哪些值是匹配的?

时间:2015-07-06 20:45:59

标签: mysql

我试图弄清楚这是否可行(我认为不是)。

我有一个查询

Select ID from table, where table.someCode IN (code1,code2,code3...)

作为此查询的结果,我将获得与此参数匹配的所有行。

我的问题基本上是,有一种方法可以返回匹配的代码或匹配的代码?比如:code1,code3匹配?

由于

编辑----------------------------

例如,我有这样的行

ID 1
name somename
somecode abc


ID 2
name someothername
somecode def


ID 3
name someotherothername
somecode qwer

所以,我想制作一个select ID from table, where somecode IN (abc,asdf,wefwerw,qwer, etc...)

但我还想知道(在编程中没有使用循环来转到每个结果并收集所有代码),在我的例子abc,qwer

中,这些代码来自IN匹配列表

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以选择标识每个标识符的唯一标识符。他们每个人都必须有一个主键。通过为每个匹配打印ID进行选择将打印匹配的内容,if code1打印code1 = ID,if code2打印code2 = ID等等

更新:只需更改为SELECT ID, code

答案 1 :(得分:0)

如果你需要select *那么你必须让你的调用代码在解析/循环结果时弄清楚它或者你需要另一个查询(例如SELECT distinct(id)FROM table where table.id IN (...), - 或 - SELECT id,count(*)from table其中table.id IN(...)group by id;)

--- EDITED ANSWER:

不,你不能这样做。抱歉的人。

这里有一些你可以做的只有mysql的例子: (我会在几分钟内填写)