我使用自联接
执行了以下查询Product_ID Parent_Product_ID Prodcut_Name
311 311 Trench
353 353 Blended wool
353 353 Blended wool polyester
355 355 Faux fur
357 357 Quilted
358 358 Jackets-Polyester
359 359 Jackets-Wool
这是结果
353 353 Blended wool
353 353 Blended wool polyester
我想通过
过滤上面的结果a)Product_ID = Parent_Prodcut_ID,如果两列中的行具有相同的值。 这里的结果应该是
353 353 Blended wool
353 353 Blended wool polyester
358 358 Jackets-Polyester
359 359 Jackets-Wool
b)如果Product_name中的前五个字符相同,则结果应为
{{1}}
答案 0 :(得分:0)
只需将这些条件添加到on
子句中(哦,您的查询也应该具有此条件):
SELECT a.Product_ID , b.Parent_Product_ID, b.Product_Name
FROM Product a JOIN
Product b
ON a.Product_ID = b.Parent_Product_ID AND
a.product_name = b.product_name;
第二个:
SELECT a.Product_ID , b.Parent_Product_ID, b.Product_Name
FROM Product a JOIN
Product b
ON a.Product_ID = b.Parent_Product_ID AND
LEFT(a.product_name, 5) = LEFT(b.product_name, 5);
如果您的数据库没有LEFT()
功能,请改用SUBSTR()
/ SUBSTRING()
。