Ai đó có thể cho tôi ý tưởng cách tạo cấu trúc cơ sở dữ liệu này. Dưới đây là một ví dụ:Trường SQL có nhiều id của bảng khác
Table "countries":
id, countryname
1, "US"
2, "DE"
3, "FR"
4, "IT"
Bây giờ tôi có "sản phẩm" khác bảng và trong đó tôi muốn lưu trữ tất cả các quốc gia mà sản phẩm này có sẵn:
Table "products":
id,productname,countries
1,"product1",(1,2,4) // available in countries US, DE, IT.
2,"product2",(2,3,4) // available in countries DE, FR, IT.
Câu hỏi của tôi: thế nào Tôi thiết kế cấu trúc bảng trong "sản phẩm" để có thể lưu trữ nhiều quốc gia?
Ý tưởng tốt nhất của tôi là đặt một chuỗi được phân tách bằng dấu phẩy trong đó (ví dụ: "1,2,4"), sau đó chia chuỗi đó để tìm kiếm từng mục nhập. Nhưng tôi nghi ngờ rằng đây là cách tốt nhất để làm điều này?
EDIT: Cảm ơn tất cả vì sự giúp đỡ của bạn, tuyệt vời! Rất khó để chọn câu trả lời đúng, Cuối cùng tôi đã chọn Greg vì anh ấy đã chỉ cho tôi một lời giải thích JOIN và đưa ra một ví dụ về cách sử dụng nó.
tại sao không sử dụng kết nối? điều này luôn có vẻ hơi lạ với tôi – Flo
Logic khi sử dụng 'JOIN' sẽ gây nhầm lẫn hơn cho một newbie SQL, mà OP rõ ràng là. Chắc chắn, một 'JOIN' cũng sẽ hoạt động, nhưng không có logic thì rõ ràng hơn và dễ hiểu hơn. – Polynomial
Cảm ơn bạn và tất cả những người khác đã giúp đỡ !! Có, SQL-newbie ở đây. Một câu hỏi con: Câu lệnh SQL đó có vẻ chậm đối với tôi - giả sử tôi có 100000+ sản phẩm, sẽ không mất nhiều thời gian để lặp qua product_countries? – marimba