他の列に存在しない場合、別の列を選択するにはどうすればよいですか?

私は5列あります。

私は多くのクエリを試みましたが、私は何をしているのか分かりません。

私はこのクエリを試してみましたが、もっと多くのことができました。

SELECT DISTINCT(username) FROM `tablename` WHERE username NOT IN (SELECT group1 FROM tablename)

テーブル名はtablenameです。

colsはusernameです。グループ1 |グループ2 |グループ3 |グループ4

他の列ではなく、ユーザー名にある名前を選択する必要があります。

これは可能ですか? phpmyadminクエリ入力エリアにクエリコードを配置する必要があります。

今日このことを学んでいただきありがとうございます。

0
ユーザー名が同じ行のグループ列にも、行にもありません。
追加された 著者 Marcus Adams,
任意の行。私はちょうど他の列に存在しないcol1の一意のユーザー名を持っていたい。
追加された 著者 James,

1 答え

あなたはJOINでこれを解決することができます:

SELECT DISTINCT(t1.username)
FROM tablename t1
LEFT JOIN tablename t2
  ON t2.group1 = t1.username
LEFT JOIN tablename t3
  ON t3.group2 = t1.username
LEFT JOIN tablename t4
  ON t4.group3 = t1.username
LEFT JOIN tablename t5
  ON t5.group4 = t1.username
WHERE t2.username IS NULL
  AND t3.username IS NULL
  AND t4.username IS NULL
  AND t5.username IS NULL
0
追加された
@James、申し訳ありませんが、SELECTステートメントのユーザー名フィールドにテーブル(エイリアス)を指定するのを忘れていました。私はクエリを更新しました。今すぐお試しください。
追加された 著者 Marcus Adams,
@ジェームズ、あなたが正しくSQLを入力した場合、あなたはおそらくグループの列に表示されていないユーザー名を持っていないでしょう。テスト目的のためにユニークなものを追加してみてください。
追加された 著者 Marcus Adams,
ありがとうございました。私もこれを試してみますが、私はそれが何をしているのかを理解する必要があります。
追加された 著者 James,
私は明日に戻ってきて、それが得られたら答えを確認する。
追加された 著者 James,
@Markusエラーが発生するフィールドリストの 'username'列があいまいです
追加された 著者 James,
申し訳ありません@Marcus私の友人は別にそれを綴る!
追加された 著者 James,
私もこのエラーでいくつかの検索を行い、これがdbの唯一のテーブルであり、それらが唯一のカラムであることを言いたいと思います。
追加された 著者 James,
まあ、エラーはありませんが、結果もありません。最初の列には他の列にはないユーザー名があり、その多くはユーザー名です。これは専用サーバー上にあり、共有されていません。しかし、2つの列が100k行以上で、1つが200k行なので、メモリ関連か、何らかのプリセットを許可しないことがありますか?私は最新のバージョンのphp(またはclose)を持っていることを知り、情報を確認したり提供したりしましたが、phpmyadminは応答していません。私はそれを圧倒したと思う。
追加された 著者 James,
PHPのバージョン5.2.14 MySQLのバージョン5.0.92のアーキテクチャx86_64オペレーティングシステムのLinux。 phpmyadminは依然として応答しません。 cpanelから情報を得ました。
追加された 著者 James,
はい、私は第1欄にユニークがあることを確認しました。約50,000は一意でなければなりません。私はあなたの例をクエリのテキストエリアに貼り付けたので、すべて正しいと確信しています。私はすべて1行で試してみました。私も学び、あなたの質問を研究して力学を学びました。はい、それもうまくいくはずです。私は努力し続けます。私はちょうどそれが役立つかどうかを見るためにPerlスクリプトから同じクエリを試すかもしれません。
追加された 著者 James,