gpt4 book ai didi

mysql - 选择满足条件的一列

转载 作者:行者123 更新时间:2023-11-29 06:09:07 25 4
gpt4 key购买 nike

我有这样的表:

ID  Name_1            Name_2               Name_3
1 Egon Spengler Ives Dertway Blade Ketlump
2 Mac Taylor Jedidiah Buckbolt Sarah Connor
3 Sarah Connor Modesto Slowfell Jean-Luc Picard
4 Jean-Luc Picard Beulah Cuxpan Henry Jones
5 Ellen Ripley Adeline Finkdell Ives Dertway
6 James T. Kirk Bertram Cam Mac Taylor
7 Henry Jones Vidal Matton Bertram Cam

所有三列中永远不会有相同的名称,因此不会发生这种情况:

3   Sarah Connor      Sarah Connor     Sarah Connor

我只想选择一个满足条件的名称 LIKE = '%value%',问题是我永远不知道到底要选择哪一行,而且我不想选择全部。此表中的人员均为作者。还有书名、体裁等栏目。我只想搜索书籍的作者。

感谢您的帮助...

最佳答案

您可以采用的数据结构化方式

SELECT [row info you need]
FROM `table`
WHERE Name_1 LIKE '%value%'
OR Name_2 LIKE '%value%'
OR Name_3 LIKE '%value%'

或者使用全文索引(您需要先创建索引):

SELECT [row info you need]
FROM `table`
WHERE MATCH( names ) AGAINST ( 'value' )

显然,使用其中任何一个都不会告诉您哪一列已匹配。

但是您最好像这样重新设计您的架构

table
-----
id
[other info]

names
-----
id
name

tables_names
------------
table_id
name_id

这样您就可以执行简单的 INNER JOIN 并避免使用单独的 OR 子句,并且您将能够非常轻松地判断哪个值与您的查询匹配。

关于mysql - 选择满足条件的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9954592/

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