Tôi có một hệ thống được xây dựng trên cơ sở dữ liệu MySQL quan hệ cho phép mọi người lưu trữ chi tiết về "khách hàng tiềm năng". Ngoài ra, mọi người có thể tạo các cột của riêng họ để lưu trữ dữ liệu và sau đó khi thêm tài khoản mới có thể thêm dữ liệu theo họ. Các cấu trúc bảng trông như thế này:Làm cách nào để truy xuất thuộc tính "động" được lưu trữ trong nhiều hàng dưới dạng bản ghi bình thường?
dẫn - id, email, user_id
ĐẶC TÍNH - id, attr_name, user_id
ATTR_VALUES - lead_id, attr_id, giá trị, user_id
Rõ ràng trong các bảng "user_id" này đề cập đến bảng "Người dùng" chỉ chứa những người có thể đăng nhập vào hệ thống.
Tôi đang viết hàm cho chi tiết khách hàng đầu ra và hiện tại chỉ cần kéo chi tiết khách hàng cơ bản làm truy vấn, sau đó kéo qua từng giá trị thuộc tính liên kết với khách hàng tiềm năng đó (tham gia bảng thuộc tính để lấy tên) và sau đó tham gia các mảng trong PHP. Đây là một chút lộn xộn, và tôi đã tự hỏi nếu có một cách để làm điều này trong một truy vấn SQL. Tôi đã đọc một chút về một cái gì đó gọi là một "bảng tổng hợp", nhưng tôi đang đấu tranh để hiểu nó hoạt động như thế nào.
Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn!
MySql không hỗ trợ lệnh Pivot. Eh, nó miễn phí. – McGarnagle
@dbase (microsoft?) Người đàn ông: không * "Eh, nó miễn phí" *, nhưng * "Eh, đó là một cơ sở dữ liệu" * (không giống như ...). Lệnh Pivot không thuộc về cơ sở dữ liệu, nhưng đến cấp bản trình bày. – TMS
Câu hỏi hay, mặc dù tiêu đề gây hiểu lầm - có thể trong một truy vấn đơn giản khá dễ dàng, chỉ cần thường tham gia tất cả các bảng - nhưng đó không phải là những gì bạn có thể muốn. Đã chỉnh sửa tiêu đề. – TMS