2011-08-08 4 views
1

私は3つのテーブルを結合している次のSQL文を持っている...は、3つのテーブル奇数のエラーメッセージを参加

SELECT A.category, A.ssn, A.categoryText, B.summary, B.form, C.regNr, C.account 
FROM tableA A 
JOIN tableB B ON A.category = B.category 
JOIN tableC C ON A.ssn = C.ssn 
WHERE B.form = 0 

私はエラー

Invalid column name 'ssn' (line 1) 

を取得しかしだ、私はtableAtableBに参加したときにのみ、このように:

SELECT A.category, A.ssn, A.categoryText, B.summary, B.form--, C.regNr, C.account 
FROM tableA A 
JOIN tableB B ON A.category = B.category 
--JOIN tableC C ON A.ssn = C.ssn 
WHERE B.form = 0 

私はまったくエラーになりません!

私は間違っていますか?

TIA

+1

本当の質問を投稿してください。 (私はあなたの列col1、col2を呼び出さないと思います...) – Jacob

+0

いいえ、私はこれの重要性を見ていないのですか?彼らは読みやすくなっているからでしょうか? – LLL

+0

テーブル 'tableC'に 'ssn'という列がありますか? btw、どのデータベースを使用していますか? – Nivas

答えて

1

私はテーブルCのためのスキーマを仮定しているが、実際にそれが(すなわち、あなたが問題を引き起こしてタイプミスを持っていない)正しく入力されますSSN列&を含みません。

DBプラットフォームによっては、DBで使用されている照合が大文字と小文字の区別で不一致が原因で失敗しているかどうかなどがあります。例えば。 'ssn'ではなく、テーブルcの 'SSN'という列ですか?

+0

私の目を開けてくれてありがとう! SQL Serverで大文字と小文字の区別が問題になることはありませんでした。 – LLL

+0

データベースが大文字小文字を区別する照合を使用するように設定されている場合にのみ問題になります。これは、通常は使用しない大文字と小文字の区別のために設定されたカスタマーサーバーで作業していたときに、 –

関連する問題