我是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")
答案 0 :(得分:0)
我认为您的用户名问题已在评论中得到很好的解答。关于你的SQL,不,你不想要Union。尝试内部联接,看看是否能获得所需的数据。
FROM Payment INNER JOIN
Schedule ON Payment.USERNAME = Schedule.USER_NAME
WHERE (Payment.USER_NAME = @USER_NAME)