我在表格中有三列,如下所示:
+----------+---------+-----+
| forename | surname | ref |
+----------+---------+-----+
| John | Smith | 123 |
| Brenda | Smith | 123 |
| Paul | Johnson | 123 |
| Greg | Smith | 222 |
| Suzanne | Smith | 222 |
| Allan | Taylor | 168 |
+----------+---------+-----+
网站的用户将输入他们的信息以查询该表以查看它是否存在。
到目前为止,对此的查询是......
"SELECT * FROM invites WHERE surname='$surname' AND ref='$ref'";
... $ surname和$ ref是我正在设计的网页上提交的表格值。
但是,我希望此页面上的结果列表不仅显示与这两个字段完全匹配的记录,还要显示表格中与Web表单中提供的ref匹配的任何forename和surname,因为同时提交的姓氏时间,因为表格中的参考是完全匹配。为此编写查询的最有效方法是什么?
答案 0 :(得分:0)
如果我理解正确,您希望查询返回下面的结果,给出姓氏' Smith'并参考' 123'
| forename | surname | ref |
----------------------------
| John | Smith | 123 |
| Brenda | Smith | 123 |
| Paul | Johnson | 123 |
----------------------------
如果是这种情况,查询将是:
select * from invites where surname = '$surname' and ref = '$ref'
union
select * from invites where ref = '$ref' and exists (select surname
from invites where surname = '$surname')