Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将两个表中的两个查询合并为一个结构_Mysql_Postgresql_Go - Fatal编程技术网

Mysql 将两个表中的两个查询合并为一个结构

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

我有一个叫做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, 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”完全相同,因为它有一个枚举值:本地、区域、国际和每个值,所以我创建了一个结构,其中包含手机枚举的所有字段,这就是为什么我必须遵循此方法