私たちは、ユーザーがお互いに送信するメッセージを保持する受信トレイのテーブルを持っています。テーブルは次のとおりです。最後の別のペアを選択してください
CREATE TABLE IF NOT EXISTS `inbox` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`fromid` int(10) unsigned NOT NULL DEFAULT '0',
`toid` int(10) DEFAULT NULL,
`message` text CHARACTER SET utf8 NOT NULL,
`time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `toid` (`toid`),
KEY `fromid` (`fromid`),
KEY `fromid_2` (`fromid`,`toid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
fromidとtoidは、ユーザーのIDです。私たちは自分のIDを持っています。必要なのは、「ユーザー」(管理者)によって返信されないすべてのメッセージを返すクエリです。 テーブルアカウントはユーザーを追跡します。単純化するために:
CREATE TABLE IF NOT EXISTS `accounts` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`our` int(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
をだから、基本的に、私たちは私たちにメッセージ管理者(私達のユーザー)が応答しなかったユーザーが、その数と、彼らはADMINに送信された最後のメッセージの日付を与えるクエリを必要とする、から注文最後まで
これまでのところ、基本的なクエリしかありませんでしたが、投稿できる合理的なものはありませんでした。
ありがとうございます。
編集:私は、我々は最初の受信トレイテーブルの2人のDISTINCTのユーザーからの最後の相互作用を見つける必要が見るものから...その後&フィルタユーザーの皆様、この程度
では、これらの2つのテーブル間の関係を説明できません。可能であれば、いくつかのサンプル入力出力を投稿する – 1000111
こんにちは、accountsテーブルにはすべてのユーザが保存されています。値our = 1のユーザーは管理者です。他の表(受信箱)には、ユーザー間のメッセージがあります。 – Outlaw011