1

テイカーのコード (関連する 2 つのテーブルで N_PRENEUR という名前) に応じて請求書 (テーブル FACT で Total_TTC という名前) から合計価格を合計し、テーブル table_preneur の DEBIT_P 列に結果を格納しようとしています。そうすることで、アクセス中に構文エラー (演算子がありません) が発生し、その理由を理解できないようです。他の投稿を試してみましたが、usggestions から同じエラーが返されました。

    UPDATE P 
SET DEBIT_P = t.somePrice
FROM table_preneur AS P INNER JOIN
 (
  SELECT
   N_PRENEUR,
    SUM(Total_TTC) somePrice
  FROM
     FACT
  GROUP BY N_PRENEUR
  ) t
ON t.N_PRENEUR = p.N_PRENEUR

thx事前に

4

3 に答える 3

2
    with cte as
    (select t.somePrice
    from table_preneur as P
    inner join (select SUM(Total_TTC) as somePrice
      from FACT
      group by N_PRENEUR) t  
    on t.N_PRENEUR = p.N_PRENEUR)

    update P 
    set DEBIT_P = cte.somePrice
    -- DO YOU NEED A WHERE CLAUSE?

    --or maybe

    update table_preneur
set DEBIT_P = (select t.somePrice
from table_preneur as P
inner join (select SUM(Total_TTC) as somePrice
  from FACT
  group by N_PRENEUR) t  
on t.N_PRENEUR = p.N_PRENEUR)
于 2013-06-26T14:34:42.737 に答える
1

as列エイリアスの前にキーワードがありませんsomePrice:

UPDATE P 
SET DEBIT_P = t.somePrice
FROM table_preneur AS P INNER JOIN
 (
  SELECT
   N_PRENEUR,
    SUM(Total_TTC) as somePrice
  FROM
     FACT
  GROUP BY N_PRENEUR
  ) t
ON t.N_PRENEUR = p.N_PRENEUR
于 2013-06-26T14:26:39.600 に答える
1

上記を明確にするために、MS Access SQLでは、テーブルエイリアスを宣言するときにASを使用する必要があります-これはSQLにありません(SUM(Total_TTC) AS somePrice)

于 2013-06-26T14:31:21.843 に答える