环境:连接到 Access 数据库的 Visual Basic Asp.net
好的,为我正在处理的数据库组合一个 Select 语句,我很难过。希望你们中的一个人能想出一个解决方案!
Laying out the problem:
Table Name: CONTACTS
Field: ContactID (primary key, autonumber)
Field: UserName [this is being used to identify the user easily from Asp.net]
Table Name: APPLICANT
Field: ContactID (primary foreign)
Field: JobID (primary foreign)
Table Name: JOB
Field: JobID (primary key, autonumber)
Field: Description
Field: Class
Field: Type
我需要的是 * 从 JOB 那里获得他们尚未申请的工作。当他们申请了一个工作时,它通过 APPLICANT 表中的 ContactID 和 JobID 的组合键来反映。
我可以通过两个查询在 Access 中完成此操作:
SELECT Applicant.JobID
FROM Contacts INNER JOIN Applicant ON Contacts.[ContactID] = Applicant.[ContactID]
WHERE (((Contacts.UserName)='Test002'));
SELECT Job.JobID, Job.Description, Job.JobType, Job.JobClass
FROM Job LEFT JOIN [Applicant Query] ON Job.[JobID] = [Applicant Query].[JobID]
WHERE ((([Applicant Query].JobID) Is Null));
其中 [Applicant Query] 当然是指第一个查询。
现在,因为 UserName 被用于识别用户,所以它必须包含在查询中,这就是困难所在。在 Visual Studio 中,我知道如何将参数传递给 Select 命令。但是,我似乎无法将参数传递给子查询。为了在我的解释中详尽无遗,“Test002”是我希望用参数替换的部分。
我希望你们知道解决这个问题的方法,或者,如果失败了,是一种完全规避问题的天才方法。提前感谢您的时间和帮助。