Tôi đang tạo menu và menu con trong một biến bảng. (Các bản ghi con chính của phụ huynh trong cùng một bảng) Giá trị ParentID coll là null cho tất cả các menu trên cùng. Và cho con của họ ParentID sẽ là MenuId của các menu cha. (Tùy thuộc vào loại nhật ký người dùng nào được xây dựng này) Bây giờ những gì tôi phải làm là nếu cha mẹ cụ thể không có bất kỳ con nào tôi muốn xóa phụ huynh này recrod từ biến bảng này.
Tôi biết tôi có thể sử dụng nó bằng con trỏ hoặc theo hàng hoạt động. Tôi có thể làm điều đó theo bất kỳ cách nào khác không?Xóa hồ sơ gốc nếu trẻ không có mặt
5
A
Trả lời
3
Nếu không nhìn thấy cấu trúc bảng của bạn thật khó để cho bạn biết truy vấn chính xác mà bạn sẽ cần nhưng, nếu tôi hiểu câu hỏi của bạn một cách chính xác, bạn chỉ cần làm một cái gì đó như này:
DELETE T
FROM MyTable T
WHERE NOT EXISTS(SELECT * FROM MyTable WHERE ParentID = T.MenuID)
AND T.ParentID IS NULL
Truy vấn con này sẽ tìm ra tất cả các bản ghi trình đơn không có hồ sơ con. Nó sử dụng EXISTS khoản SQL của
1
Bạn có thể làm một cái gì đó như thế này:
delete from yourtable yt where not exists (select * from yourtable yt2 where yt.id = yt2.parentid) and yt.parentid is null
4
Một tuyên bố đơn như thế này nên làm điều đó (như là một thay thế cho sử dụng tồn tại):
delete p
from
tblMenu p
left join tblMenu c on p.ID = c.ParentID
where
p.ParentID is null --Ensures that the item to delete is at the top
and c.ParentID is null --Finds top level items with no children
Các vấn đề liên quan
- 1. Làm cách nào để ngăn chặn việc xóa phụ huynh nếu có hồ sơ con?
- 2. Lấy hồ sơ trẻ em bằng cách sử dụng LINQ
- 3. Xóa hàng loạt/xóa hồ sơ qua Java ORM
- 4. truy vấn sql để xóa hồ sơ
- 5. CTE đệ quy để tìm hồ sơ gốc
- 6. Rails 3. before_destroy xác thực để ngăn xóa hồ sơ gốc
- 7. Rails 3 - Làm thế nào để Không Lỗi nếu không có hồ sơ được tìm thấy
- 8. Kiểm tra CakePHP nếu hồ sơ tồn tại
- 9. Làm thế nào để chọn tổng cộng-0 nếu không có hồ sơ tồn tại?
- 10. LINQ to Sql Sum không có hồ sơ
- 11. Hồ sơ cấp phép không tìm thấy
- 12. LINQ to sql - xóa một số hồ sơ liên quan
- 13. Hiển thị hồ sơ NDK ".so không có biểu tượng"
- 14. CHỌN rồi ngay lập tức XÓA hồ sơ mysql
- 15. Tôi có thể xóa hồ sơ cấp phép khỏi Cổng cung cấp không?
- 16. Cơ sở dữ liệu: Để xóa hoặc không xóa hồ sơ
- 17. Nhận Hồ sơ Ứng dụng Hồ sơ theo chương trình
- 18. Xóa tất cả hồ sơ từ một cửa hàng
- 19. hồ sơ maven hoặc hồ sơ mùa xuân?
- 20. Hồ sơ là gì?
- 21. Mặt đồng hồ Pebble
- 22. Hồ sơ Maven
- 23. tính hồ sơ Maven không "trọng"
- 24. Cài đặt GHC Nếu không có gốc
- 25. Lập hồ sơ ứng dụng Chrome
- 26. Mẫu hồ sơ Haskell
- 27. Có một "hồ sơ kích thước chức năng" không?
- 28. Có hồ sơ trực quan cho Python không?
- 29. tuples vs hồ sơ
- 30. tên hồ sơ không hợp lệ
Bạn có muốn làm điều này như một công việc bảo dưỡng (tức là một lần), hoặc là một thường xuyên xảy ra, bất cứ khi nào một đứa trẻ bị xóa? – Oded