2013-07-02 102 views
2

中獲取的信息將行插入表中我需要根據另一個表中的行填充表。我們將調用必須填充表A的表格,然後使用填充表格B的表格。需要根據從表

表B列出了客戶ID以及他們完成的不同事務類型的數量(例如,已售出,購買,交換)。

表A包含客戶ID,交易名稱(已出售,已購買,已交換)以及是否曾經完成該交易的列。無論他們是否完成了這筆交易,都將取決於他們完成交易的次數,如表B所記錄。例如,如果客戶12出售了3件東西,購買了0件東西並交換了1件東西,則他們將有: - 表B中的一行 - 表A中的三行,其中true表示已售出,false表示已購買,true表示已交換。

任何人都可以幫我開始這個基本結構嗎?我從來不需要再根據另一張桌子的結果填充另一張桌子,所以這對我來說似乎有點令人生畏,我不確定我應該從哪裏開始。

我正在使用Microsoft Access 2010.

謝謝你的時間!

+0

在表B中,客戶12是否有2行? 1出售和1交換?我只是想在桌面佈局上得到一個處理。還是表B中的列:customer_id,times_sold,times_purch,times_exch? – Lisa

+0

@Lisa客戶12將有3行,1個出售,1個交換,1個購買(除了購買會說錯誤或類似的東西)。 –

+0

好的 - 但表B的源表呢? – Lisa

回答

1

我假設表B中的源數據都在一行中,所以你的字段是customer_id,sold,purc,exch。我還假設你想用這些數據填充表A.如果你的表B數據是多行的,讓我知道,我會修改這個。如果您只想寫一個查詢而不填充新表,請刪除外部SELECT ... INTO語句。

SELECT customer_id, trans_type, trans_status INTO A 
FROM (
     SELECT customer_id 
      , "SOLD" AS trans_type 
      , SWITCH (sold = 0, "FALSE", sold > 0, "TRUE") AS trans_status 
     FROM B 
     UNION ALL 
     SELECT customer_id 
      , "PURCHASED" AS trans_type 
      , SWITCH (purc = 0, "FALSE", purc > 0, "TRUE") AS trans_status 
     FROM B 
     UNION ALL 
     SELECT customer_id 
      , "EXCHANGED" AS trans_type 
      , SWITCH (exch = 0, "FALSE", exch > 0, "TRUE") AS trans_status 
     FROM B 
     ORDER BY customer_id, trans_type 
) 
+1

@Lisa這是完美的。謝謝!我不知道有一個SWITCH關鍵字! –