【问题标题】:MySQL : Is there a way to select all rows of a table which have value at specific column in given set of Strings?MySQL:有没有办法选择在给定字符串集中的特定列具有值的表的所有行?
【发布时间】:2016-01-07 10:55:56
【问题描述】:

例如我有一个表 Book (id int, author varchar(100)),其中 id 是主键。 我有一组作者'S',如何找到所有书籍,使其作者出现在集合中。

附:我正在使用 java。

【问题讨论】:

  • 您如何存储作者值?它们是逗号分隔的吗?
  • 这样的作者没有其他表格
  • 我在问你们如何存储作者?是这种格式 S,A,C 吗?一本书有多个作者,一个作者可以有多本书。是这样吗?

标签: java mysql sql database


【解决方案1】:

我假设你正在寻找这个。

    SELECT * FROM book
    WHERE FIND_IN_SET('author_name', author)

编辑

    SELECT * FROM book b
    WHERE FIND_IN_SET(b.author, 'Atal,Jawahar,Gandhi,Patel')

【讨论】:

  • 这里是变量作者的集合吗?
  • 是的。正如您在问题中提到的“在给定的字符串集中”
  • 假设我想在 mysql 控制台中运行这个查询,那么我将如何设置呢?我得到了 4 位作者“Atal”、“Jawahar”、“Gandhi”、“Patel”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-15
相关资源
最近更新 更多