-1

重複の可能性:
あいまいな列名エラー

post_job、apply_job、employer_detailの3つのテーブルを結合したいと思います。

  1. 表1:post_job

    job_id、emp_id、job_title

  2. 表2:apply_job

    apply_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'.  

誰か助けてくれませんか。

4

4 に答える 4

1

列名の前にテーブル名を指定してみてください。それがおそらく、コードがどこを見ればよいかわからない理由です。

于 2012-05-16T20:05:54.263 に答える
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 + "' ";
于 2012-05-16T20:06:51.183 に答える
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+"' "
于 2012-05-16T20:09:56.047 に答える
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の質問です。

于 2012-05-16T20:10:14.060 に答える