2017-04-27 47 views
0

客户:如何连接表,所以我得到的结果在一个表中

staffID | fname | lname 

inStorePay:

inStorePaymnet | hourlyPayment | staffId 

如何连接表,所以我得到的结果在一个表中?

Select hourlyPayment, (Count(hourlyPayment)* 100/(Select Count(*) From  
    inStorePay)) as rate 

    From inStorePay 

    Group By hourlyPayment 

    SELECT S.fname,S.lname, I.hourlyPayment 

    FROM Staff S, inStorePay I 

    WHERE S.staffID ='S0984' 
+0

您的费率计算公式不明确。还可以提供一些数据吗? –

+0

将样本数据添加到表格和预期输出 – 2017-04-27 07:20:16

回答

0

希望这个代码可以帮助你

--Here Dbo.[InStorePay](StaffID) column depends on Dbo.[Customer](StaffID) ,Now you can join above tables Using StaffID column 
    CREATE TABLE [dbo].[Customer](
     StaffID INT IDENTITY, 
     Fname VARCHAR(200), 
     Lname VARCHAR(200) 
    PRIMARY KEY CLUSTERED 
    (
     [staffID] ASC 
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
    ) ON [PRIMARY] 

    GO 


    CREATE TABLE [dbo].[InStorePay](
     InStorePayId INT IDENTITY, 
     StaffID INT, 
     InStorePaymnet Money, 
     HourlyPayment Money 
    PRIMARY KEY CLUSTERED 
    (
     [InStorePayId] ASC 
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
    ) ON [PRIMARY] 

    GO 

    ALTER TABLE [InStorePay] ADD CONSTRAINT Fk_InStorePay_Customer FOREIGN Key (StaffID) REFERENCES Dbo.[Customer](StaffID) 
0

我希望这是你的要求是什么

SELECT S.fname,S.lname, I.hourlyPayment,(Count(HourlyPayment)* 100/(Select Count(*) From 
#InStorePay)) as rate 
FROM #Customer S 
INNER JOIN #InStorePay I ON S.StaffID = I.StaffID 
WHERE S.staffID = 2 
Group By S.fname,S.lname, I.hourlyPayment 

以上查询的结果会是这样的

enter image description here

相关问题