gpt4 book ai didi

MySQL - 帮助编写搜索查询语法

转载 作者:行者123 更新时间:2023-11-29 13:06:58 26 4
gpt4 key购买 nike

我有一个表(名为“作业”),如下所示:

Username    RandomWebsite1   RandomWebsite2   RandomWebsite3
-----------------------------------------------------------------
bugs bunny 1 0 1
elmer fudd 0 1 1
popeye 1 1 0
elvis 1 1 1
bruce lee 0 1 0

我需要的是三个不同的查询,例如:(我会用英语来完成,而不是我在编写语法时的错误尝试”

  1. 如果我想搜索分配了 RandomWebsite1 的所有人员,我需要将用户名添加到列表框中(我的程序将 1 识别为分配的值)

  2. 我需要搜索“RandomWebsite1”,并且该字段中包含“1”的任何人都需要添加到我的列表框中。 MySQL 语法是什么样的?

  3. 我需要搜索表中的所有列,无论列的名称是什么,因为它可以随机生成,并且该字段中包含“1”的任何人都需要添加到我的列表框中。 MySQL 语法是什么样的?我想在类似的地方必须有一个通配符:

    在 WHERE * = 1 处显示“用户名” 或其他内容。

我知道我的数据库设计可能很糟糕,但事实就是如此,现在无法修复它,但我愿意接受建议。该表中基本上有大约 5000 个用户。

编辑:

我需要能够在搜索字段中输入“bugs bunny”...然后它会搜索此表并列出所有已分配的网站(任何带有“1”的网站)...我希望这会有所帮助...再次感谢。

最佳答案

明确地说,您应该有三个表来完成此任务。第一个表:

用户

User_id      UserName
---------------------
0 bugsbunny
1 elmer fudd
2 popeye

第二个表:

作业

Assignment_id        website_name
-------------------------------------
0 www.url1.com
1 www.url2.com
2 www.url3.com

最后:

用户分配

User_id         Assignment_id
------------------------------
0 1
0 2

通过此设置,您可以根据需要添加任意数量的用户分配,并且可以通过UserAssignment表将它们链接在一起,无需动态生成随机列!

因此,要查看已分配给用户 bugsbunny 的所有网站,您可以执行以下操作:

SELECT a.website_name FROM Assignments a 
JOIN UserAssignments ua ON ua.Assignment_id = a.Assignment_id
JOIN Users u ON u.User_id = ua.User_id
WHERE u.UserName = 'bugsbunny'

关于MySQL - 帮助编写搜索查询语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22567871/

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