0
讓我們假設我們有一個名爲Reserations(PK, clientID, ORDER_NUMBER, CREDIT_CARD)
的表。客戶可以進行多次預訂,但是當CREDIT_CARD
不爲空(意味着客戶已預付訂單)簽證,萬事達卡等時,預訂被視爲完成。Sql多個預留和重複價值
因此,我們有這張桌子充滿了保留,我想按照以下規則進行清理:如果客戶做出了有效的預訂(信用卡不是NULL),那麼如果此客戶有其他未支付的預訂(信用卡爲空),我會自動爲他保留(意思是我將在CREDIT_CARD
列中添加信用卡類型,該列對於此特定客戶端爲空)。否則,客戶無效(不是一個有效的信用卡),他的記錄將被刪除。
如何在SQL微軟訪問中實現這一點?我的想法是: 選擇表格,刪除重複並更新記錄。這裏唯一的問題是如何知道是否至少有一個有效的預訂?也許使用計數功能來計算每個客戶端的有效預留量?
上帝非常感謝!這似乎工作得很好。我能問你一件事嗎 ?當你說Reserations R時,這意味着R是重置權? (如果我沒有弄錯,重命名)和top(1)是?提前致謝。 – KostasRim
R僅僅是預約的別名,在第二個查詢中,它用於與內部查詢進行連接。 TOP(1)將返回包含該客戶信用卡信息的單行。你必須在這裏使用TOP(1),否則更新拋出錯誤,如果客戶有多個記錄與credit_card不爲空 –
我的朋友,感謝解釋它真的幫助我! Ps想重創,但我的聲望低於15 :( – KostasRim