1

我有一个这样结构的表(不是实际的数据或字段,但同样的结构适用):

ID | City        Field2 Field 3
-------------------------------
1    New York    Ohio   data      
2    Cincinnati  data   data
3    Los Angeles data   Ohio
4    Cleveland   data   data

然后有第二个类似这样的表(同样,不是实际数据)

City        State
-------------------------------
Los Angeles California
New York    New York
Cincinnati  Ohio
Cleveland   Ohio
Houston     Texas

等等

我有一个允许用户搜索数据库的 php 网页;当他们这样做时,它将自动打印(在我的示例中)城市之后第二个表中的相应状态。

但是,如果用户搜索“Ohio”,它应该返回所有四条记录,即使“Ohio”在第一个表中不存在。看起来我必须运行多个查询 - 在第一个表中找到搜索词,在第二个表中再次找到它,然后在第一个表中搜索第二个表的第 1 列(然后加入结果) . 有没有更简单的方法来做到这一点?(我对 MySQL 还很陌生。)

4

1 回答 1

1

您是否尝试过使用UNION?

SELECT City FROM table1 WHERE Field2 = 'Ohio' OR Field3 = 'Ohio'
UNION ALL
SELECT City FROM table2 WHERE State = 'Ohio'

查看您的查询是什么样子会很有帮助。

于 2013-01-28T21:03:37.003 回答