Các lời xin lỗi cho tiêu đề nhưng tôi đang cố gắng thực hiện công việc trên mức của tôi ngay cả khi tôi giải thích nó.Máy chủ SQL - Cố gắng khử chuẩn hóa bảng của tôi
Nói rằng tôi có một bảng với các biến người, thực phẩm và số tiền:
Person food Amount
Mike Butter 3
Mike Milk 4
Mike Chicken 2
Tim Milk 4
John Chicken 2
Bằng cách tham gia bảng với chính nó trong các truy vấn tôi đã được quản lý để thực hiện một danh sách mà thực phẩm là cơ sở cho các biến mới và giá trị là số tiền. Bảng trên sẽ trở thành:
Person Butter Milk Chicken
Mike 3 4 2
Mã này là xấp xỉ:
Select
a.person,
b.amount as Butter,
c.amount as Milk,
d.amount as Chicken
from PersonFoodAmount a
inner join PersonFoodAmount b on a.person = b.person
inner join PersonFoodAmount c on a.person=c.person
where b.food='Butter'
and c.food='Milk'
and d.food='Chicken'
Bây giờ, điều này mang lại cho tôi Mike bởi vì anh ta sẽ kiểm tra tất cả các hộp ra. Nhưng tôi cũng cần có các kết quả khớp một phần:
Person Butter Milk Chicken
Mike 3 4 2
Tim NULL 4 NULL
John NULL Null 2
Tôi đã thử tất cả các loại tham gia, kể cả tham gia toàn bộ bên ngoài nhưng tôi vẫn chỉ nhận được những người có tủ lạnh đầy đủ.
Mọi đề xuất?
bạn cần phải sử dụng sql trục ... –