如果用户提供的搜索词与表B中的列匹配,请根据表A中的行中的ID选择表A中的行/ [重复项]

问题描述 投票:-1回答:2

此问题已经在这里有了答案:

假设我有2个表,A和B,它们看起来像这样:

Table A - Orders
+----+-------------+------------+
| ID | Description | Product ID |
+----+-------------+------------+
|  1 | ABC         |          4 |
|  2 | DEF         |          5 |
|  3 | GHI         |          6 |
+----+-------------+------------+

Table B -  Products
+----+-------------+
| ID | Name        |
+----+-------------+
|  4 | cat         |
|  5 | cactus      | 
|  6 | cow         | 
+----+-------------+

我想返回表A中行的结果,如果表B中的“名称”列与搜索词匹配,则在SQL中使用类似LIKE %searchterm%的方式(如果适用)。基本思想是,根据表A中的产品ID,它将在表B中查找具有该ID的行,然后检查名称列是否与搜索字词匹配,如果是,则从表A中返回相关的行产品ID。

因此,搜索词为“ ca”,并且运行了查询,由于表B中的产品与搜索词匹配,因此它将返回表A的行1和2(猫和仙人掌)。

假设我有2个表A和B,它们看起来像这样:表A-订单+ ---- + ------------- + ------ ------ + | ID |描述产品编号| + ---- + ------------- ++ ------------ + | 1 | ABC ...

php mysql
2个回答
0
投票

我认为您应该使用子查询


0
投票

我认为此查询可以为您提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.