2011-08-13 18 views
0
  1. 私はテキストボックスを自動完成しています。mysqlクエリのヘルプが必要

  2. テキストボックスに名前を入力すると、自動補完機能が働き、テーブルのリストが表示されます。

  3. 保存ボタンをクリックすると、テキストボックスに入力された名前が表に挿入されます。これまで、プロセスはうまくいきました。

  4. 私の場合は:すでに既存のユーザーは自動完成で表示しないでください。

テーブルの構造:

  1. ユーザー表

    UID、名前

  2. 作業テーブル

    WID、from_uid、to_uid、

MySQLのクエリは、このに関するすべてのヘルプは感謝してgratedfulになります。..する必要がありますどのように

...

+0

はあなたが何をメートルでくださいeanは "既に挿入されています"?すでにテキストボックスに挿入(書込み)されていますか?例えば、あなたはテキストボックスに "john、luis、jo"と書いています。 "ジョン"が提案として表示されないようにすることを意味します。テキストボックスに既にあるので、最後の "jo"の意味ですか? –

答えて

1
select name 
    from users 
where name like 'Jo%' 
    and uid not in (select to_uid 
        from work 
        where from_uid = 666) 

は、ユーザーがJo部分文字列を入力すると、現在のユーザーのIDが666

または別のクエリとすると同じ(1があなたの特定のケースでは、より効率的になるかわからないが)んが、サブクエリの代わりにLEFT JOINを使用しています。

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 
+0

ありがとうzerkms .... :-) – Fero