2011-06-27 6 views
0

私はMS Access 2007を使用しています。左結合を入力すると、左結合はサポートされていないというエラーが表示されます。ここでSQL - 左の結合がスイッチ文で機能しない

TRANSFORM Count([Letter Status].Customer_ID) AS CountOfCustomer_ID 
SELECT Switch(
      [Race_1]=1,"White", 
      [Race_1]=2,"Black", 
      [Race_1]=3,"Asian", 
      [Race_1]=4,"Hispanic/Latino", 
      [Race_1]=5,"American Indian/ Alaskan Native", 
      [Race_1]=6,"Native Hawaiian or Pacific Islander", 
      [Race_1]=7,"Multiracial", 
      [Race_1]=8,"Other", 
      [Race_1]=9,"Unknown" 
     ) AS Race 
FROM Demographics 
    INNER JOIN (
     [Status] 
     INNER JOIN 
      Research 
       ON [Status].Customer_ID = Research.Customer_ID 
     ) 
     ON (Demographics.ID = [Letter Status].Customer_ID) 
     AND (Demographics.ID = Research.Customer_ID) 
WHERE ((([Status].Count)=1)) 
GROUP BY [Status].Count, Demographics.Race_1 
ORDER BY Research.Store_site 
PIVOT Research.Store_site In (1,2,3,4,5,6,7,8,9,10); 

SQLは、誰かがどこ左の表に表示する各レースのための行を可能にするために参加置くために私を示すために、上記のコードを使用してもらえますか?また、このコードでNull値を0に置き換える方法を教えてください。私はNZ()を実装しようとしましたが失敗しました。

助けてください。

答えて

3

FROM句をよく見てください。

FROM Demographics 
    INNER JOIN (
     [Status] 
     INNER JOIN 
      Research 
       ON [Status].Customer_ID = Research.Customer_ID 
     ) 
     ON (Demographics.ID = [Letter Status].Customer_ID) 
     AND (Demographics.ID = Research.Customer_ID) 

あなたは[レターステータス]を参照ONの状態を持っていますが、[レターステータス]は、ソース表の中に含まれていません....あなたは[状態]と呼ばれるものを持っています。

まず、クエリデザイナーにJOINを作成します。これで、Accessが受け入れるSQLから始めることがわかります。

そして、JOINを並べ替えるまでこのことを単純化してください。 JOINが動作するまで、Switch、TRANSFORM、PIVOT、およびGROUP BYを削除してください。

+1

+1のQBE推奨。 –

関連する問題