簡體   English   中英

從連接在一起的兩個sql表中刪除行

[英]Delete row from two sql tables that join together

有兩個表:

Table1 : UserID Name Job
Table2 : BookID Book Car UserID

我將兩個表加載到一個wpf datagrid中:

da.SelectCommand = new SqlCommand("select Table1.UserID, Table1.Name, Table1.Job, Table2.Book, Table2.Car from Table1 inner join Table2 on Table1.UserID = Table2.UserID");

我想通過DataGrid從Table2刪除一行:

 SqlCommand com = new SqlCommand("delete from Table2 where BookID=@BookID)",con);

但沒有用

我該怎么做?

您必須使用以下方式刪除行

DELETE FROM table2
WHERE  userid = (SELECT userid
                 FROM   table1);  

您是否期望這樣的事情?

DELETE FROM B WHERE BOOKID IN (SELECT BOOKID FROM B,A WHERE B.USERID=A.USERID AND B.BOOK='ABCD'); 

您說“它必須從某個用戶而不是所有書中刪除一本書”。 您必須知道必須刪除其書籍的用戶ID。

如果要刪除用戶書籍,請執行以下操作:

從表2中刪除用戶ID所在的位置(用戶ID1,用戶ID1等...); 但是您要刪除大行,請使用批量刪除機制。

如果您沒有用戶ID和書籍ID,則必須執行以下操作:

從表2中刪除bookid在其中的bookid(book_id1,book_id2等); 或者從Table2中刪除,其中bookid =? //根據您的開發語言,設置“?” 參數。 我不知道C#語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM