Php MySQL:如何使用WHERE IN子句从两个不同的表中获取结果
我有两个具有不同内容的表,无法连接表,因为没有公共标识符,但每个表都是一列,内容相同。我需要从这两个列中提取内容,并希望从每个相同的记录中获取ID。下面的查询提取了我已经知道/拥有的内容,但我没有从WHERE IN表中获取ID 查询Php MySQL:如何使用WHERE IN子句从两个不同的表中获取结果,php,mysql,Php,Mysql,我有两个具有不同内容的表,无法连接表,因为没有公共标识符,但每个表都是一列,内容相同。我需要从这两个列中提取内容,并希望从每个相同的记录中获取ID。下面的查询提取了我已经知道/拥有的内容,但我没有从WHERE IN表中获取ID 查询 SELECT pd.products_id, pd.products_short_description FROM products_description pd WHERE pd.products_short_description IN (SELECT m.m
SELECT pd.products_id, pd.products_short_description
FROM products_description pd
WHERE pd.products_short_description IN (SELECT m.manufacturers_ean FROM manufacturers m)
结果
ID | products_short_description
-------------------------------
2 | BMW
这就是我需要的:
ID | products_short_description | ID | manufacturers_ean
--------------------------------------------------------
2 | BMW | 285| BMW
在这种情况下,可以通过内部连接来完成对where的操作,因此您也可以从中选择两列
SELECT pd.products_id, pd.products_short_description, m.ID m.manufacturers_ean
FROM products_description pd
INNER JOIN manufacturers m on m.manufacturers_ean = pd.products_short_description
在这种情况下,可以通过内部连接来完成对where的操作,因此您也可以从中选择两列
SELECT pd.products_id, pd.products_short_description, m.ID m.manufacturers_ean
FROM products_description pd
INNER JOIN manufacturers m on m.manufacturers_ean = pd.products_short_description
查询将是:
SELECT pd.products_id, pd.products_short_description, m.ID, m.manufacturers_ean
FROM products_description pd,manufacturers m
WHERE m.manufacturers_ean = pd.products_short_description
查询将是:
SELECT pd.products_id, pd.products_short_description, m.ID, m.manufacturers_ean
FROM products_description pd,manufacturers m
WHERE m.manufacturers_ean = pd.products_short_description
对所有人的回答:完美!它起作用了!我在哪里把它标记为已解决?回答所有问题:完美!它起作用了!我在哪里标记为已解决?请再添加一个表。您能显示样本数据吗?请再添加一个表。您能显示样本数据吗?