需要mysql查询的帮助吗

需要mysql查询的帮助吗,mysql,Mysql,我有一个自动完成的文本框 当我在文本框中输入名称时,自动完成将起作用,并提供表中的列表 当我单击save按钮时,文本框中输入的名称将插入表格中。在这之前,这个过程我工作得很好 我的情况是:已经存在的用户不应该在自动完成中显示 表结构: 用户表 uid,名称 工作台 wid,从uid到uid mysql查询应该是怎样的。。任何与此相关的帮助都将充满感激和感激 select name from users where name like 'Jo%' and uid not in (sel

我有一个自动完成的文本框

  • 当我在文本框中输入名称时,自动完成将起作用,并提供表中的列表

  • 当我单击save按钮时,文本框中输入的名称将插入表格中。在这之前,这个过程我工作得很好

  • 我的情况是:已经存在的用户不应该在自动完成中显示

  • 表结构:

  • 用户表

    uid,名称

  • 工作台

    wid,从uid到uid

  • mysql查询应该是怎样的。。任何与此相关的帮助都将充满感激和感激

    select name
      from users
     where name like 'Jo%'
       and uid not in (select to_uid
                         from work
                        where from_uid = 666)
    
    假设用户输入了
    Jo
    子字符串,并且当前用户的id是
    666

    或者另一个执行相同操作的查询(不确定哪一个在您的特定情况下更有效),但使用
    左连接
    而不是子查询:

       select name
         from users u
    left join work w on w.from_uid = 666
                    and u.uid = w.to_uid
        where name like 'Jo%'
          and w.to_uid is null
    
    “已经插入”是什么意思?是否已在文本框中插入(写入)?例如,你在文本框中写了“约翰、路易斯、乔”。你的意思是你不想让“john”作为建议显示,因为最后一个“jo”已经在文本框中了?