グループ チャット データベースのクエリの例
トピックの最終更新日: 2011-01-27
ここでは、グループ チャット データベースに対するクエリの例を示します。
特定の日付以降に最もアクティブなチャット ルームのリストを取得するには、次の例を使用します。
SELECT nodeName as ChatRoom, COUNT(*) as ChatMessages
FROM tblChat, tblNode
WHERE channelId = nodeID AND dbo.fnTicksToDate(chatDate) > '1/1/2011'
GROUP BY nodeName
ORDER BY ChatMessages DESC
特定の日付以降に最もアクティブなユーザーのリストを取得するには、次の例を使用します。
SELECT prinName as Name, count(*) as ChatMessages
FROM tblChat, tblPrincipal
WHERE prinId = userId AND dbo.fnTicksToDate(chatDate) > '1/1/2011'
GROUP BY prinName
ORDER BY ChatMessages DESC
"Hello World" という文字列が含まれるメッセージを送信したことがあるユーザー全員のリストを取得するには、次の例を使用します。
SELECT nodeName as ChatRoom, prinName as Name, content as Message
FROM tblChat, tblNode, tblPrincipal
WHERE channelId = nodeID AND userId = prinID AND content like '%Hello World%'
特定のプリンシパルのグループ メンバーシップのリストを取得するには、次の例を使用します。
SELECT prinName as Name
FROM tblPrincipalAffiliations as pa, tblPrincipal
where principalID = 7 and affiliationID = prinID
ユーザー Jane Dow が直接メンバーであるすべてのチャット ルームのリストを取得するには、次の例を使用します。
SELECT DISTINCT nodeName as ChatRoom, prinName as Name
FROM tblPrincipalRole, tblPrincipal, tblNode
WHERE prinRoleNodeID = nodeID AND prinRolePrinID = prinID AND prinName = 'Jane Dow'
ユーザーが受け取った招待のリストを取得するには、次の例を使用します。
SELECT prinName
,nodeName
,invID
,createdOn
FROM tblPrincipalInvites as inv, tblPrincipal as p, tblNode as n
where inv.prinID = 5 AND inv.prinID = p.prinID and inv.nodeID = n.nodeID
ORDER BY invID DESC