mysql - 在 2 个表中选择匹配的字符串

标签 mysql sql select

表A

Id  | M  | D  |   Y   |
=======================
1  | 10  | 28  | 2012 |
2  | 11  | 29  | 2012 |
3  | 12  | 30  | 2012 |

表B

Id  | M  | D  |   Y   |
=======================
4  | 09  | 28  | 2012 |
5  | 11  | 29  | 2012 |
6  | 01  | 30  | 2013 |

我将按MD 搜索

例如:如果匹配 M = 11 AND D = 29 ... 那么将返回 ID(s) 2 , 5

我只能通过这样的一张表找到

mysql_query("SELECT * FROM TableA WHERE M='11' AND Y='29' ORDER BY D ASC , Id DESC;";)

但是如何在多个表中查找呢?

最佳答案

在两个SELECT之间使用UNION子句

(SELECT Id, M, D, Y FROM TableA WHERE M='11' AND Y='29')
UNION
(SELECT Id, M, D, Y FROM TableB WHERE M='11' AND Y='29')
ORDER BY D ASC , Id DESC

关于mysql - 在 2 个表中选择匹配的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13605993/

相关文章:

java - 具有 3 个表和复合主键的定义问题 JPA

mysql - 将mysql转换为特定格式的xml文件的正确方法

oracle - 设置mysql复制延迟

mysql - sails.js 查询表列内的 json 对象

Java网络编程

mysql - SELECT * 和 SELECT ALL 之间有区别吗?

mysql - 选择选项数组作为 select 语句的一部分

mysql - 与我的脚本有关,为什么我不能对子查询计数器使用 where 子句 = '1'

sql - 如何在 SQL Server 中连接字符串和逗号?

javascript - Jquery 选择图像