type Detail struct { 
Product 
Stocks 
} 
type Product struct { 
Name  string   `db:"name"` 
Id   int   `db:"id"` 
} 
type Stocks { 
Name  string   `db:"name"` 
Price  float   `db:"price"` 
Type  string   `db:"type"` 
} 

我想有一个查询加入上述表格的形式大致如下:

query, args, err := sqlx.In("select p.name , s.price from Product p,Stocks s where p.name=s.name and type IN (?)",typecodes) 
query = s.Cmd.Db.Rebind(query) 
var rows *sqlx.Rows 
rows, err = s.Cmd.Db.Queryx(query, args...) 

for rows.Next() { 
      var p model.Detail 
      err = rows.StructScan(&p) 
} 

会想知道我什么时候做rows.StructScan(& p)将产品结构名称字段填充或将有任何ambuigity发现相同,因为股票也有名称字段?

目前我没有得到上述任何结果。但是当我评论股票结构中的名称字段时,我正在获取数据。

让我知道我在这里失踪。

+0

对于模棱两可的领域你最好与他们的结构名称的前缀,注解它们,例如'product_name','stock_name',然后在您的SQL语句中适当地使用它们。 –

+0

感谢Martin.It工作得很好:) –

+0

@MartinGallagher发布那个答案。 –