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

标签 mysql sql

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

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/

相关文章:

mysql - 如果两列之一的值匹配,则更新 MySQL 列

mysql - 如何设置查询不接受不存在的字段

php - 如何在mysql中为(select * from)设置变量

mysql - SQL多对多关系解决方案: intermediate table or xml query?

mysql - #1054 - 从 Mysql 导出到 MariaDB 后 order 子句中的未知列

mysql - 语法错误意外开启

php - 使用基于 id (cdid) 的 sql 连接查询从 3 个表中获取数据

php - 如何从 mysql 回显日期(数字)

sql - Postgres 检查列名是否有效

sql - 如何在 SQL 查询中获取 Paperclip 照片 url - Rails 3.1,Paperclip