Tôi có một cái gì đó tương tự như bảng sau:SQL - Cách chuyển đổi?
================================================
| Id | UserId | FieldName | FieldValue |
=====+========+===============+================|
| 1 | 100 | Username | John Doe |
|----+--------+---------------+----------------|
| 2 | 100 | Password | pass123! |
|----+--------+---------------+----------------|
| 3 | 102 | Username | Jane |
|----+--------+---------------+----------------|
| 4 | 102 | Password | $ecret |
|----+--------+---------------+----------------|
| 5 | 102 | Email Address | [email protected] |
------------------------------------------------
Tôi cần một truy vấn mà sẽ cung cấp cho tôi một kết quả như thế này:
==================================================
| UserId | Username | Password | Email Address |
=========+===========+===========================|
| 100 | John Doe | pass123! | |
|--------+-----------+----------+----------------|
| 102 | Jane | $ecret | [email protected] |
|--------+-----------+----------+----------------|
Lưu ý rằng các giá trị trong FieldName không giới hạn Username, Mật khẩu và địa chỉ email. Chúng có thể là bất kỳ thứ gì vì chúng được người dùng định nghĩa.
Có cách nào để thực hiện việc này trong SQL không?
thấy http://stackoverflow.com/questions/649802/how-to-pivot-a-mysql-entity-attribute-value- lược đồ cho một câu hỏi tương tự. Không thể thực hiện việc xoay vòng trong ứng dụng và để truy vấn thẳng về phía trước? Nếu bạn cần N thuộc tính, bạn sẽ cần tạo truy vấn động. –