2012-05-16 34 views
-1

Possible Duplicate:
Ambiguous column name error如何在asp.net中加入3表?

我想加入3個表格:post_job,apply_job和employer_detail。

  1. 表1:post_job

    JOB_ID,EMP_ID,JOB_TITLE

  2. 表2:apply_job

    applied_id,JOB_ID,js_id,emp_id爲

  3. 表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'. 

可以請幫助我嗎?

+0

http://stackoverflow.com/a/318089/284240 –

+0

請考慮將此問題標記爲已回答。 –

回答

1

嘗試在列名前面指定表名。這可能就是爲什麼你的代碼不知道在哪裏看。

0

「不明確的列」表示該列存在於多個表中。 。使用[表名] [列名]指定完整的列名,就像這樣:

"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 + "' "; 
0

加前綴是答案...你可以別名你的表名,並引用它們在整個查詢,如下所示:

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+"' " 
0

您需要(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問題。