选择登录的用户名,显示来自多个表的数据

时间:2018-04-05 19:24:44

标签: sql asp.net vb.net

我是SQL / asp.net / VB的新手。我正在尝试创建帐户历史记录页面。我需要查询使用他们的用户名并从两个不同的表中提取数据。查询仅选择不同的输入。

SELECT Payment.PAID_ID, Payment.PAY_RECEIVED, Payment.PAYMENT_DATE, 
Payment.PAYMENT_SUMMARY, Payment.USER_NAME, Schedule.SCHEDULE_ID, 
Schedule.SERVICE_DATE, Schedule.SERVICETIME_IN, 
              Schedule.SERVICETIME_OUT, Schedule.EMAIL, Schedule.ADDRESS, 
Schedule.FIRST_NAME, Schedule.LAST_NAME, Schedule.USER_NAME
FROM     Payment CROSS JOIN
              Schedule
WHERE  (Payment.USER_NAME = @USER_NAME)

此查询获取所有正确的信息,但是,它需要输入才能获得要在数据表上显示的正确信息。有没有办法确定.aspx页面上的用户名?

更新:我将查询更改为此。

SELECT Payment.PAY_RECEIVED, Payment.PAYMENT_DATE, Payment.PAYMENT_SUMMARY, 
Payment.USER_NAME, Schedule.SCHEDULE_ID, Schedule.SERVICE_DATE, 
Schedule.EMAIL, Schedule.ADDRESS, Schedule.FIRST_NAME, 
              Schedule.LAST_NAME, Schedule.USER_NAME AS Expr1
FROM     Payment INNER JOIN
              Schedule ON Payment.USER_NAME = Schedule.USER_NAME
WHERE  (Payment.USER_NAME = @USER_NAME)

我将会话变量设置为

Session("roles")

如何让对象数据源读取会话? image of objectdatasource parameters

1 个答案:

答案 0 :(得分:0)

我认为您的用户名问题已在评论中得到很好的解答。关于你的SQL,不,你不想要Union。尝试内部联接,看看是否能获得所需的数据。

FROM Payment INNER JOIN
    Schedule ON Payment.USERNAME = Schedule.USER_NAME
WHERE (Payment.USER_NAME = @USER_NAME)