1

私は2つのテーブルを持っています:

  • T1 (合計ユーザー)
  • T2 (User_id_that_have_done_something_for_today)

T1 からの mysql_query の結果は

(Total User)
-----
ID
-----
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |

T2 の mysql_query は

(logged)
-----
user_id_log
-----
| 1 |
| 3 |
| 4 |
| 7 |

T1 と T2 を比較して、承認されていないユーザーのみを表示する方法は?

私が望んでいた最終結果は

(result)
-----
ID
-----
| 2 |
| 5 |
| 6 |
| 8 |

これを機能させるために2日を費やしましたが、できません

私はLEFT JOINとNOT ITを試しましたが、結果は私が望んでいたものではありません

助けてください、ありがとう

4

3 に答える 3

0

これは、結果を得るのに役立ちます。

select T1.ID from T1 left join T2 on T2.ID = T2.ID where T2.ID IS NULL;
于 2012-12-09T05:02:46.200 に答える
0

これはトリックを行います

SELECT * FROM Users u
WHERE u.id NOT IN (SELECT l.id FROM logged l)
于 2012-12-09T04:29:06.643 に答える
0

使用できます NOT EXISTS

SELECT DISTINCT id FROM T1 WHERE NOT EXISTS (SELECT * FROM T2 WHERE t1.id = t2.id);
于 2012-12-09T04:29:51.403 に答える