0
  1. 我有两个表,一个是列表,students_playing但它大约有 10 个字符长,名字和姓氏结合在一起......
  2. 我想从中进行选择,avail_students但我不想选择与前 5 个字符匹配的同名学生。

我现在的选择命令是:

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

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

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

4

1 回答 1

3

我认为LEFT 函数嵌套子查询是您正在寻找的。

下面的示例应仅比较前 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 )
)
于 2012-08-03T18:14:20.870 回答