我有一个名为products的表,其中包含以下模式:
CREATE TABLE products (
id INT PRIMARY KEY,
sku TEXT NOT NULL,
fee REAL
);
以及另一个包含费用更改日志(log)的表,其中包含此模式:
CREATE TABLE fee_change(
id SERIAL PRIMARY KEY,
sku_id INT NOT NULL,
old_fee REAL NOT NULL,
new_fee REAL NOT NULL,
FOREIGN KEY (sku_id) REFERENCES products(id)
);
是否要在一个sql中获取每个sku的最后两次费用更改,而不是每个sku的两行,我希望有两个新列,分别包含旧的费用1、新的费用1、旧的费用2、新的费用2:
预期结果:
id | sku | old_fee_1 | new_fee_1 | old_fee_2 | new_fee_2
1 | ASC | 4 | 2.5 | 3 | 4
2 | CF2 | 4 | 1 | 3 | 4
3 | RTG | 0.5 | 1 | 2 | 0.5
4 | VHN5 | null | null | null | null