如何在 asp.net 中加入 3 个表
本文关键字:个表 net asp | 更新日期: 2023-09-27 18:34:28
可能的重复项:
不明确的列名错误
我想连接 3 个表:post_job、apply_job 和employer_detail。
-
表1:post_job
job_id、emp_id job_title
-
表 2:apply_job
applied_id、job_id、js_id emp_id
-
表 3:jobskker_personal
js_id, full_name
我希望它看起来像这样:
job_id, job_title, full_name
我写了一个这样的查询:
"SELECT job_id,job_title,post_date ,full_name "
+ "FROM post_job,applied_jobs,jobseeker_personal WHERE emp_id='"+emp_id+"' ";
它显示一个错误:
Ambiguous column name 'emp_id'.
Ambiguous column name 'job_id'.
Ambiguous column name 'job_title'.
谁能帮我?
尝试在列名前面指定表名。这可能就是为什么你的代码不知道在哪里查找的原因。
"不明确的列"表示该列存在于多个表中。 使用 [表名] 指定完整的列名。[列名],如下所示:
"SELECT post_job.job_id, post_job.job_title, post_date, full_name " + "FROM
post_job, applied_jobs, jobseeker_personal WHERE post_job.emp_id='" + emp_id + "' ";
前缀就是答案...您可以为表名设置别名,并在整个查询中引用它们,如下所示:
SELECT
pj.job_id, pj.job_title, pj.post_date, jp.full_name
FROM
post_job pj, applied_jobs aj, jobseeker_personal jp
WHERE
emp_id='"+emp_id+"' "
您需要 (a( 编写连接条件,以及 (b( 将表标识符添加到多个表中出现的字段名称。
在这种情况下,我猜你想说的是这样的:
select p.job_id, p.job_title, s.full_name
FROM post_job p
join applied_jobs a on a.job_id=p.job_id
join jobseeker_personal s on s.js_id=a.js_id
WHERE a.emp_id=?
旁注:您的问题与 ASP.NET 无关。这是一个SQL问题。