【问题标题】:stripping when selecting选择时剥离
【发布时间】:2012-08-03 18:00:30
【问题描述】:
  1. 我有两张表,一张列出了students_playing,但它大约有 10 个字符长,名字和姓氏结合在一起......
  2. 我想从avail_students 中进行选择,但我不想选择与前 5 个字符匹配的同名学生。

我现在的选择命令是:

select * from avail_students where lastplayed<now() and name not IN strip(students_playing),5)

我知道最后一部分不正确,但我什至不知道从哪里开始。

非常感谢我从中获得的任何帮助。提前谢谢!

【问题讨论】:

  • 问题与帖子标题有什么关系?
  • 我在 MySQL 中也没有任何 strip() 方法。您可能正在寻找substring() dev.mysql.com/doc/refman/5.0/en/…IN() 需要一个列表,而不是字符串。
  • 嗨,谢谢你指出我的标题我遇到的问题是students_playing 表中有大约 50 行...我不知道如何匹配/包含所有他们在我的选择中过滤

标签: mysql matching stripping


【解决方案1】:

我认为LEFT functionnested subqueries 是您正在寻找的。

下面的例子应该只比较前 5 个字符。

SELECT * FROM avail_students 
WHERE lastplayed < now() 
AND NOT EXISTS (
    SELECT * FROM students_playing
    WHERE LEFT( students_playing.name, 5 ) = LEFT( avail_students.name, 5 )
)

【讨论】:

  • 天啊!非常感谢!我不知道这甚至可以通过一个班轮查询!非常感谢!你让我很开心!
猜你喜欢
  • 1970-01-01
  • 2011-05-22
  • 1970-01-01
  • 2012-07-07
  • 1970-01-01
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
  • 2012-06-29
相关资源
最近更新 更多