Mysql 将两个表中的两个查询合并为一个结构
我有一个叫做Ads的结构Mysql 将两个表中的两个查询合并为一个结构,mysql,postgresql,go,Mysql,Postgresql,Go,我有一个叫做Ads的结构 type Ads struct { ID int `json:"id"` Subject string `json:"subject"` Phone string `json:"phone"` } func GetAdsPostgres() (ads []Ads, err error) { ads = make([]Ads, 0) rows, err := db1.Query("Select ad_id, subj
type Ads struct {
ID int `json:"id"`
Subject string `json:"subject"`
Phone string `json:"phone"`
}
func GetAdsPostgres() (ads []Ads, err error) {
ads = make([]Ads, 0)
rows, err := db1.Query("Select ad_id, subject FROM ads limit 200 ")
for rows.Next() {
var ad Ads
rows.Scan(&ad.ID, &ad.Subject)
test := reflect.ValueOf(ad.ID)
addd := test.Interface().(int)
rows1, _ := db1.Query("Select phone FROM ads where ad_id=$1", addd)
rows1.Scan(&ad.Phone)
ads = append(ads, ad)
rows1.Close()
}
if err = rows.Err(); err != nil {
return
}
return
}
没有考虑加入表,因为电话有多个枚举值,我必须在第一次查询中获取电话号码后将其作为字段进行重新设置;不要重复你自己
db1.Query("Select ad_id, subject, phone FROM ads limit 200 ")
如果err=rows.err(),您的
;呃!=nil{return}
完全没有必要。如果。。。{return}return。只需执行return
@Flimzy就可以了,因为手机有一个枚举值:本地、地区、国际,每个值都有一个,所以我创建了一个结构,其中包含手机枚举的所有字段,这就是为什么我必须遵循这一点method@dev_medo:那与我的观点无关。对于手机来说,“if x do y else do y”与“y”完全相同,因为它有一个枚举值:本地、区域、国际和每个值,所以我创建了一个结构,其中包含手机枚举的所有字段,这就是为什么我必须遵循此方法