-4

質問がSQL Server 2000あります。データベースからレポートを取得する必要があります。Automationアプリケーションの発券プロセスのクエリを処理するためのテーブルのセットが含まれているデータベースを持っています。

データベースからレポートを抽出する必要があります。このレポートには、チケット番号と、そのチケットを入力、受信、編集、レビューしたユーザーなどのユーザー情報が含まれている必要があります。

データベースからこれらのフィールドが必要です

Ticketnumber
billnumber
companyname
enteredby(username)
entereddate
recievedby(username)
recieveddate
editedby(Employeename)
editeddate
reviewedby(ReviewerName)
revieweddate
postedby(Managername)
posteddate

私は3つのテーブルを持っています
1>VPP_VendorBilldetails

BillentryID | ticketnumber | billnumber | VENDORNAME,BILLNUMBER,COSTCENTERNAME,BILLAMOUNT,TICKETDATE,BILLDATE | companyID(not companyname) | billdate | Enteredby(userid)| entereddate | recievedby(userid) | recieveddate | editedby(userid) | editeddate | reviewedby(userid) | revieweddate | postedby(userid) | posteddate

2>Users

UserID | employeeID | employeename |loginID| Password | usertype | status

3> VPP_ClientCompanyDetails

companyid | companyname | companyaddress | status

このクエリを作成しましたが、3つのカテゴリすべてで同じ従業員名を取得しています。

  SELECT CLIENTCOMPANYNAME,  TICKETNUMBER,VENDORNAME,BILLNUMBER,COSTCENTERNAME,BILLAMOUNT,TICKETDATE,BILLDATE,
    RECIEVEDDATE,EMPLOYEENAME AS EXECUTIVENAME,
        VPP_VENDORBILLDETAILS.MODIFIEDDATE,
        EMPLOYEENAME AS REVIEWERNAME,EMPLOYEENAME AS POSTEDBY,POSTEDDATE,ERRORCODE,
        IMPACTCODE,ROOTCAUSE,REVIEWERREMARKS
        FROM 
    VPP_VENDORBILLDETAILS 

    INNER JOIN 
    VPP_CLIENTCOMPANYDETAILS 
    ON VPP_VENDORBILLDETAILS.BILLENTEREDCOMPANYID = VPP_CLIENTCOMPANYDETAILS.CLIENTCOMPANYID

    INNER JOIN USERS 
    ON VPP_VENDORBILLDETAILS.MODIFIEDBY = USERS.USERID

    WHERE CONVERT(VARCHAR(12),CONVERT(DATETIME,POSTEDDATE,103),101) 
        BETWEEN CONVERT(DATETIME,CONVERT(VARCHAR(12),getdate()-7,100),101) 
        AND CONVERT(DATETIME,CONVERT(VARCHAR(12),getdate()-1,100),101)

        AND VPP_CLIENTCOMPANYDETAILS.STATUS = 1 AND VPP_VENDORBILLDETAILS.STATUS = 1 AND USERS.STATUS = 1 AND ERRORCODE IS NOT NULL AND TALLYID IS NOT NULL

        ORDER BY CLIENTCOMPANYNAME ASC

それをチェックして、これについて私を助けてください

上記の表のレポートを抽出するのを手伝ってください。

4

1 に答える 1

0

これを試して :

SELECT CLIENTCOMPANYNAME,  TICKETNUMBER,VENDORNAME,BILLNUMBER,COSTCENTERNAME,BILLAMOUNT,TICKETDATE,BILLDATE,
    RECIEVEDDATE,U1.EMPLOYEENAME AS EXECUTIVENAME,
        VPP_VENDORBILLDETAILS.MODIFIEDDATE,
        U2.EMPLOYEENAME AS REVIEWERNAME,U3.EMPLOYEENAME AS POSTEDBY,POSTEDDATE,ERRORCODE,
        IMPACTCODE,ROOTCAUSE,REVIEWERREMARKS
        FROM 
    VPP_VENDORBILLDETAILS 

    INNER JOIN 
    VPP_CLIENTCOMPANYDETAILS 
    ON VPP_VENDORBILLDETAILS.BILLENTEREDCOMPANYID = VPP_CLIENTCOMPANYDETAILS.CLIENTCOMPANYID

    INNER JOIN USERS U1
    ON VPP_VENDORBILLDETAILS.recievedby = U1.USERID

    INNER JOIN USERS U2
    ON VPP_VENDORBILLDETAILS.MODIFIEDBY = U2.USERID

    INNER JOIN USERS U3
    ON VPP_VENDORBILLDETAILS.postedby = U3.USERID


    WHERE CONVERT(VARCHAR(12),CONVERT(DATETIME,POSTEDDATE,103),101) 
        BETWEEN CONVERT(DATETIME,CONVERT(VARCHAR(12),getdate()-7,100),101) 
        AND CONVERT(DATETIME,CONVERT(VARCHAR(12),getdate()-1,100),101)

        AND VPP_CLIENTCOMPANYDETAILS.STATUS = 1 AND VPP_VENDORBILLDETAILS.STATUS = 1 AND USERS.STATUS = 1 AND ERRORCODE IS NOT NULL AND TALLYID IS NOT NULL

        ORDER BY CLIENTCOMPANYNAME ASC
于 2013-02-20T12:08:30.100 に答える