0
我有表存儲每個實體(員工,部門)的詳細信息。我想從該表中構建動態查詢。建設動態查詢Postgres
CREATE TABLE MyTable
(
Id int primary key,
EntityId int,
ColumnName varchar(100),
tablename varchar(100)
);
INSERT INTO MyTable (Id, EntityId, ColumnName, tableName)
VALUES (1,1,'name','employee');
INSERT INTO MyTable (Id, EntityId, ColumnName, tableName)
VALUES (2,1,'id','employee');
INSERT INTO MyTable (Id, EntityId, ColumnName, tableName)
VALUES (3,1,'salary','employee');
INSERT INTO MyTable (Id, EntityId, ColumnName, tableName)
VALUES (4,2,'name','departement');
INSERT INTO MyTable (Id, EntityId, ColumnName, tableName)
VALUES (5,2,'location','departement');
INSERT INTO MyTable (Id, EntityId, ColumnName, tableName)
VALUES (6,2,'id','departement');
以上就是我的表並插入腳本,我如何編寫一個查詢這使我的輸出類似下面。
SELECT id,name,salary from employee
SELECT id,location,name from departement
如果我有多個實體,我應該多選擇語句。
任何特別的原因你想這樣存儲嗎? –
這是一種稱爲EAV的已知反模式。你真的想走那條路嗎?在Postgres中有更好的替代方案可以做到這一點 –
這聽起來像個壞主意 –