【发布时间】:2021-09-12 12:14:46
【问题描述】:
有两个表,分别是sku 和country,没有任何匹配的列。我需要根据sku 表中c_code 的值从国家表中检索一个唯一字段printable_name。 c_code 列有多个相同的国家代码(例如:124),而国家表中的 numcode 列包含相同的国家代码但只有一次,因为它是唯一的字段。具有唯一 numcode 的行具有我最终尝试检索的国家/地区名称。下面我的 SQL 查询的结果给出了多行而不是国家表中的一行。我只想要国家表中的一条记录,即printable_name
我正在尝试将以下 SQL 与 JOIN 语句合并为一个。
$vendor_sku = $my_line_item['sku'];
// Build SQL to retrieve country name.
$sql = "SELECT c_code FROM sku WHERE item_sku = '" . $vendor_sku . "'";
$sql = "SELECT printable_name FROM country WHERE numcode = '" . $c_code . "'";
SELECT country.printable_name
FROM country INNER JOIN sku ON country.numcode = sku.c_code
WHERE country.numcode = "124"
我的国家/地区表的一部分是:
sku 表的一部分是:
【问题讨论】:
-
当sku表有多个相同的国家num_code的c_code时会发生。
-
在
SELECT之后添加DISTINCT以过滤掉重复项 -
请提供样本数据和期望的结果。
-
请看帖子中添加的表格图片。
标签: mysql sql database inner-join