-1

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

Foreign Key----FK
Primary Key----PK

ticket(id,FK_ticketopenby,FK_closeby,FK_createby,FK_tickettype)
ticketcategoies(PK_ID,name,ticketid)
user(name,PK_id) 
usertype(PK_id,designation,FK_userid)

ユーザー ID は、FK_closeby、FK_createby、FK_tickettype などの外部キー (FK) です。

ユーザーが管理者またはクライアントである チケットがフォローアップまたはユーザーである

結果として必要な linq クエリ

-----------------------------------------------------------------
| Usertype | TicketType | Totalopen | TotalClose | TotalCreated |
-----------------------------------------------------------------
|    admin |   FollowUP |       324 |       2323 |          232 |
-----------------------------------------------------------------
4

1 に答える 1

0

あなたの質問は少し薄いですが、ここにあなたが尋ねていると思うものへの答えがあります。

Linq-to-SQLやEFなどのORMを使用していて、テーブルごとにエンティティがあると仮定します。

モデルでチケットタイプがどのように表されているかが明確でないため、そのエンティティに参加していません。

context.Tickets.Join(
        context.UserTypes,
        t => t.TicketOpenBy, 
        ut => ut.UserId,
        (t, ut) => new
            {
                Usertype = ut.Designation,
                TicketType = t.TicketType,
                Open = (t.TicketOpenBy ?? 0) > 0 ? 1 : 0,
                Closed = (t.CloseBy ?? 0) > 0 ? 1 : 0,
                Created = (t.CreateBy ?? 0) > 0 ? 1 : 0
            })
    .GroupBy(
        t => new { t.Usertype, t.TicketType },
        t => new
            {
                t.Usertype,
                t.TicketType,
                TotalOpen = t.Sum(t => t.Open),
                TotalClosed = t.Sum(t => t.Closed),
                TotalCreated = t.Sum(t => t.Created),
            });

これがあなたが探していた答えのようなものでなければ、あなたはあなたの質問に明快さと詳細を加える必要があるでしょう。

于 2012-08-07T08:47:53.127 に答える