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

nlejzf6q  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(684)

我有一个结构叫做广告

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
}

没有考虑连接表,因为phone有多个枚举值,之后我必须将它们改为字段

sulc1iza

sulc1iza1#

只需在第一次查询中获取电话号码;不要重复你自己的话。

db1.Query("Select ad_id, subject, phone FROM ads limit 200 ")

相关问题