sql >> データベース >  >> RDS >> Mysql

MySQL複数の利益のマッチングの問題

    これはMySQLで間違いなく可能ですが、厄介な方法でそれを行っているのではないかと思います。まず、テーブルを次のように構成します。

    TABLE Users ( userId, username, location )
    TABLE Interests( interestId, hobby )
    TABLE UserInterests( userId, interestId, level )
    

    ユーザーがインタレストを追加するときに、それが以前に追加されていない場合は、Interestsに追加します。 テーブルを作成し、それをUserInterestsに追加します テーブル。同様の関心を持つ他の近くの人々をチェックしたい場合は、UserInterestsにクエリを実行するだけです。 同様の興味を持っている他の人々のための表。これには、すでにすべての情報が含まれています。

    SELECT DISTINCT userId
      FROM UserInterests
      WHERE interestId IN (
         SELECT interestId
           FROM UserInterests
           WHERE userId = $JoesID
         )
    

    これはおそらくサブクエリなしでよりエレガントな方法で行うことができますが、それは私が今考えていたものです。



    1. MySQLでデータベース名の大文字と小文字を変更するにはどうすればよいですか?

    2. Oracle.DataAccessは、VisualStudio2013では選択できません

    3. EBS R12.2 /StandaloneWeblogicでWeblogicサーバーのバージョン/パッチを検索する

    4. MySQL5.6のグローバルクエリタイムアウト