我有一个包含3个字段的表:
QTimer
,user_id
,name
表格中没有主键,value
可以有重复的值,对于user_id
,枚举字段年龄,工作和薪水。
name
我想创建一个如下所示的结构
user_id | name | value
------------------------
1 | age | 20
------------------------
1 | job | IT
------------------------
2 | salary | 20000
------------------------
2 | job | Dev
------------------------
2 | age | 30
------------------------
主要查询:
user_id | age | job | salary
----------------------------
1 | 20 | IT | NULL
----------------------------
2 | 30 | Dev | 20000
----------------------------
我被困在每个结果行的部分,其他3个查询的id被比较并显示为一个表。
答案 0 :(得分:0)
首先,查询应该如下所示。
userAgeValues, err1 := db1.Query("select value from users where user_id=$1 and name=\"age\";", user_idvalue)
userJobValues, err2 := db1.Query("select value from users where user_id=$1 and name=\"job\"", user_idvalue)
userSalaryValues, err3 := db1.Query("select value from users where user_id=$1 and name=\"salary\"", user_idvalue)
然后你有这些价值观与你想要的。根据您的描述,每个结果中只应有1行。
答案 1 :(得分:-1)
您可以使用key = user_id和value = user struct
创建地图定义用户结构和地图:
type user struct{
age string
salary string
job string
}
user := make(map[int]user)
从表中获取整个数据并开始将其加载到地图中