2
此查詢可能絕對荒謬,或者我可能只有一件小事情出錯。我不太確定。但基本上我試圖用Access中另一個表中的數據更新表。給我提出問題的列是那些設置爲「是/否」類型的列,我試圖更新它的數據被設置爲「文本」類型,其值爲字符串「是」或「否」。如何使用條件來更新單獨表格中的數據表
因此,如果這個查詢甚至可能,我想到的大概是將其「文本」字段粗略地轉換爲1或0,具體取決於它們的「是」或「否」值。無論如何,足夠的背景,這裏的查詢:
UPDATE Group_Pricing SET
Contract_Type = (SELECT Contract_Type FROM ContractTypesFinal WHERE ContractTypesFinal.FirstGroup = Group_Pricing.GroupID),
Hybrid_Retail =
(SELECT CASE (SELECT RetailSpread FROM ContractTypesFinal WHERE ContractTypesFinal.FirstGroup = Group_Pricing.GroupID)
CASE "Yes"
RetailSpread = 1
CASE "No"
RetailSpread = 0),
Hybrid_Mail =
(SELECT CASE (SELECT MailSpread FROM ContractTypesFinal WHERE ContractTypesFinal.FirstGroup = Group_Pricing.GroupID)
CASE "Yes"
MailSpread = 1
CASE "No"
MailSpread = 0),
Hybrid_Specialty =
(SELECT CASE (SELECT SpecialtySpread FROM ContractTypesFinal WHERE ContractTypesFinal.FirstGroup = Group_Pricing.GroupID)
CASE "Yes"
SpecialtySpread = 1
CASE "No"
SpecialtySpread = 0),
Hybrid_Rebates =
(SELECT CASE (SELECT Rebates FROM ContractTypesFinal WHERE ContractTypesFinal.FirstGroup = Group_Pricing.GroupID)
CASE "Yes"
Rebates = 1
CASE "No"
Rebates = 0)
WHERE EXISTS (SELECT 1 FROM ContractTypesFinal WHERE ContractTypesFinal.FirstGroup = Group_Pricing.GroupID);
任何幫助,非常感謝。如果這是不可能的,告訴我我是個白癡。謝謝!
啊,是的。爲什麼我試圖使用VBA進行直接查詢,我不知道。謝謝你指出我朝着正確的方向。所以是= 1和否= 0? – Tim 2012-07-20 21:17:49
是的,我錯過了。所以你說'更新Group_Pricing SET Hybrid_Retail =(((SELECT RetailSpread FROM ContractTypesFinal WHERE ContractTypesFinal.FirstGroup = Group_Pricing.GroupID)=「Yes」)'?我的理解似乎不正確。 – Tim 2012-07-20 21:24:57
當字段等於「否」時,這也會處理嗎? – Tim 2012-07-20 21:54:26