gpt4 book ai didi

mysql - 棘手的 MySQL JOIN 查询

转载 作者:行者123 更新时间:2023-11-30 22:59:25 25 4
gpt4 key购买 nike

我有一个文本输入,在键入时我想更新相邻选择字段中的选项。

我的数据库中有这两个表:

模型:

ID  modelName  brandID
1 NA140 3
1 SRL 1
1 SRS 1
1 SRF 1
1 SMS 2
1 SMU 2

品牌:

ID  brandName
1 Samsung
2 Bosch
3 Panasonic

在选择字段中,我想列出品牌表中的所有 brandNames,但列出它们与文本输入相关。因此,如果键入“SR”,modelNames 的顺序将是 SRF、SRL、SRS、SMU、SMS、NA140,然后相应的 brandName 将作为结果抓取但仅列出每个品牌一次。

我将如何编写此查询?

我有这个基本想法,我认为这是我需要的...

JOIN models & brands ON m.brandID = b.ID

MATCH modelName to string%

SELECT UNIQUE brandName

最佳答案

我能想到的唯一方法是首先在与用户输入匹配的位置进行选择,获取这些结果,然后在它出现的位置再次进行选择,并将结果与​​联合组合,如下所示:

(SELECT `t1`.`modelName`, `t1`.`brandID`,`t2`.`brandName` FROM `Models` as `t1` INNER JOIN `Brands` AS `t2` ON `t1`.`brandID`=`t2`.`ID` WHERE `t1`.`modelName` LIKE 'SR%' ORDER BY `t1`.`modelName`,`t2`.`brandName`)
UNION
(SELECT `t1`.`modelName`, `t1`.`brandID`,`t2`.`brandName` FROM `Models` as `t1` INNER JOIN `Brands` AS `t2` ON `t1`.`brandID`=`t2`.`ID` WHERE `t1`.`modelName` NOT LIKE 'SR%' ORDER BY `t1`.`modelName`,`t2`.`brandName`)

可能有更有效的方法来做到这一点,这是我去商店之前想到的:)

关于mysql - 棘手的 MySQL JOIN 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24748356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com