給你兩個表,一個是渠道管理表A,一個是渠道主管理人的表B,然后給你兩個條件是在表A中,表A的id就是表B的渠道ID,現在我需要根據表A里面的這兩個條件來更新表B里面的兩條資料,下面是我寫的查詢這條需要更新資料的SQL陳述句:select * from SUMEC_SC_CHANNEL_INFO a ,SUMEC_SC_CHANNEL_CLERK_INFO b where a.id=b.channel_id and a.channel_name='FADIS S.P.A' and a.contact_name='邵馨元' ,求教大神指點迷津
uj5u.com熱心網友回復:
update SUMEC_SC_CHANNEL_CLERK_INFO b
set (b.channel_name,b.contact_name)=(select channel_name,contact_name from SUMEC_SC_CHANNEL_INFO a
where a.id=b.channel_id
and a.channel_name='FADIS S.P.A'
and a.contact_name='邵馨元' )
uj5u.com熱心網友回復:
要注意子查詢(select channel_name,contact_name from SUMEC_SC_CHANNEL_INFO awhere a.id=b.channel_id
and a.channel_name='FADIS S.P.A'
and a.contact_name='邵馨元' ) 這個必須回傳單行,即a.id=b.channel_id 相匹配的id必須回傳單行
uj5u.com熱心網友回復:
update SUMEC_SC_CHANNEL_channel_INFO a set CLERK_NAME='U0009362' , PERSON_NAME='劉振興' where sumec_ec_channel_info.channel_name='FADIS S.P.A' and sumec_ec_channel_info.contact_name='邵馨元' and sumec_ec_channel_info.id in (select a.cid from a where sumec_ec_channel_info.id=a.channel_id)我寫的更新陳述句是這個樣子的,不知道是否正確,因為一些原因無法在電腦上去驗證,所以來請教大佬uj5u.com熱心網友回復:
不行的,會報錯的,這個陳述句沒法改,你只能按照我上面的那樣用子查詢。你直接用sumec_ec_channel_info.channel_name='FADIS S.P.A' (表名+欄位名)這樣是不行的,語法不通過。表sumec_ec_channel_info必須在from后面才能被參考。
uj5u.com熱心網友回復:
然后我要根據表SUMEC_SC_CHANNEL_INFO與表SUMEC_SC_CHANNEL_CLERK_INFO的這個關系和表Aa.channel_name='FADIS S.P.A' and a.contact_name='邵馨元'的這兩個關系然后去更改表B的CLERK_NAME和CHANNEL_ID這兩個欄位的值,并且, 這兩個欄位值的內容是我手動賦值上去的意思就是表SUMEC_SC_CHANNEL_INFO里面的ID與表SUMEC_SC_CHANNEL_CLERK_INFO里面的CHANNEL_ID是相等的,這個條件是能夠保持資料的一致性,然后還有表SUMEC_SC_CHANNEL_INFO兩個已知的條件,去更改表SUMEC_SC_CHANNEL_CLERK_INFO里面的CLERK_NAME與CHANNEL_ID這兩個欄位的值,并且這兩個值是我重新給他的轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/90764.html
標籤:開發
下一篇:各位大神,求助啊~~~~~~
