2012-02-12 30 views
0

私は次のSQLクエリに問題がある:INNER JOIN結合式はサポートされていませんか?

select 
    [customer].teskilat_kodu, [customer].hesab_nomresi, 
    [customer].soyad, [customer].ad, [customer].ataadi, [customer].unvan, 
    [customer].tevellud, [customer].nomre, [customer].cins, [customer].status, 
    [customer].qohum_nomresi, [customer].email 
from 
    [customer] 
INNER JOIN 
    [kart_novleri] ON [kart_novleri].id = '[customer].kart_novu' 
ORDER BY 
    [customer].id ASC 

それはエラーを返します:

アクセスで

Error: Join expression not supported

+1

JOIN条件を一重引用符にしないでください。 '..... [kart_novleri] .id = [customer] .kart_novu'(注:' ** [customer] .kart_novu'の周りに二重引用符はありません!) –

+0

なぜあなたはcharを必要としますか? : 'ここ' [顧客] .kart_novu '? – Hadas

+0

[kart_novleri] .id intと[customer] .kart_novu String tpyeのために私は必要があります。 –

答えて

0

(未テスト):TSQLで

select 
    [customer].teskilat_kodu, [customer].hesab_nomresi, 
    [customer].soyad, [customer].ad, [customer].ataadi, [customer].unvan, 
    [customer].tevellud, [customer].nomre, [customer].cins, [customer].status, 
    [customer].qohum_nomresi, [customer].email 
from 
    [customer] 
INNER JOIN 
    [kart_novleri] ON [kart_novleri].id = CInt([customer].kart_novu) 
ORDER BY 
    [customer].id ASC 

をこのような何かをする必要があり仕事:

select 
    [customer].teskilat_kodu, [customer].hesab_nomresi, 
    [customer].soyad, [customer].ad, [customer].ataadi, [customer].unvan, 
    [customer].tevellud, [customer].nomre, [customer].cins, [customer].status, 
    [customer].qohum_nomresi, [customer].email 
from 
    [customer] 
INNER JOIN 
    [kart_novleri] ON cast([kart_novleri].id as varchar(max)) = [customer].kart_novu 
ORDER BY 
    [customer].id ASC 

またはこの

select 
    [customer].teskilat_kodu, [customer].hesab_nomresi, 
    [customer].soyad, [customer].ad, [customer].ataadi, [customer].unvan, 
    [customer].tevellud, [customer].nomre, [customer].cins, [customer].status, 
    [customer].qohum_nomresi, [customer].email 
from 
    [customer] 
INNER JOIN 
    [kart_novleri] ON [kart_novleri].id = cast([customer].kart_novu as int) 
ORDER BY 
    [customer].id ASC 

は、データによっては、致命的なエラーを回避するために参加する前に、キャストの結果に「ISNUMBER」をやってみたいことがあります。私はCTEを使用して結合前にカラムをマッサージして堅牢性を保証することをお勧めします - またははintとして元の値を保存します!

+0

Hoganは動作しません: –

+0

CodeInChaos私のデータベースへのアクセス.mdb –

+0

私はあなたがAcessの整数にキャストするのにCIntを使うと信じています – Hogan

関連する問題