【发布时间】:2015-05-20 07:10:32
【问题描述】:
我有三张桌子
1.Product
2.Category
3.Vendor
4.product_category
同一产品将分为两个类别,但我只想根据供应商显示一个。
例如: 产品表
vendor_id | product_id
---------|---------------
1 | 1457
1 | 1457
product_category 表
product_id | category_id
1457 | 1
1457 | 2
product_id1457 将属于 1 类和 2 类,但我只想展示一次。我该怎么办?
【问题讨论】:
-
做标准化。供应商应该是供应商表的 vendor_id 外键
-
首先,如果您的产品可以属于多个类别,您应该通过添加
productToCategory表来使用多对多关系。其次,如果每个产品和供应商的行数超过一行,您如何决定保留哪一行? -
GROUP BY,使用 MAX 或 MIN 选择类别。
-
如果您需要帮助消除输出中的重复项,您不应该多解释一下输出吗?产生重复项的当前查询到底是什么?
-
您好,感谢您的回复。我已经使用 max 和 group by
标签: sql sql-server-2012