mysql - 如何将一个表上的 select 获得的所有记录与另一个表的记录连接起来?

标签 mysql sql database join rdbms

我是 SQL 的新手,尝试在 MySql 数据库上执行以下查询时遇到以下问题。

所以我有这种情况:

在我的数据库中有一个名为 TID023_INTERVENTO 的表,其中该表的每一行代表一个项目(对我来说,一个项目是可以获得资助的东西)。

它具有以下结构:

Field            Type            Null   Key    Default    Extra

PRG_INT          int(11)         NO     PRI               auto_increment
COD_INT          varchar(15)     NO     UNI     
DES_INT          text            YES            
COD_CUP          varchar(15)     YES    UNI     
FLG_CUP_PRO      tinyint(1)      YES            
...................................................................
...................................................................
...................................................................

所以通过这个查询:

select * from TID023_INTERVENTO where COD_TIP_STA_INT = 2 && COD_TIP_BAN = 2;

我获得了一个项目列表(一个项目是 TID023_INTERVENTO 表的记录),其中包含 COD_TIP_STA_INTCOD_TIP_BAN 的 2 个特定值> 字段。

好的,这个查询工作正常,我获得了我的项目列表。

我的问题是,现在我必须修改之前的查询以将存储的信息加入到另一个名为 TID031_PIANO 的表中。

情况如下:前一个查询检索到的每条记录都以 1:1 的比例链接到 TID031_PIANO 表中的一条记录,该表具有以下结构:

Field             Type          Null    Key
PRG_PIA           int(11)       NO      PRI
DES_DEN_SCU       varchar(255)  NO  
DES_PIA           text          YES 
PRG_INT           int(11)       YES     MUL     
..............................................................
..............................................................
..............................................................

因此,如您所见,在第二个表 (TID031_PIANO) 中有 PRG_INT 字段代表 TID023_INTERVENTO 的主键> 表格。

我知道我可以通过我原来的简单查询首先检索 TID031_PIANO 表的记录列表,这个:

select * from TID023_INTERVENTO where COD_TIP_STA_INT = 2 && COD_TIP_BAN = 2;

然后迭代每条记录以获取主键,然后使用此主键对 TID031_PIANO 表执行第二个简单的选择查询,指定 PRG_INT 的条件> 该表的字段。

但我想将它执行到单个查询 performina join 或类似的东西中。

完成此任务的最佳方法是什么?

最佳答案

那么,您正在寻找连接语法?

select * from TID023_INTERVENTO s
INNER JOIN TID031_PIANO t 
ON(s.PRG_INT = t.PRG_INT )
where s.COD_TIP_STA_INT = 2 and t.COD_TIP_BAN = 2;

关于mysql - 如何将一个表上的 select 获得的所有记录与另一个表的记录连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35454866/

相关文章:

MySQL:如何检查提供的值是数字/整数还是字母?

php - 如何根据id显示两个表中的数据

sql - 根据以上行结果查找每个数量的值(value)

database - 手动安装 Jasper WAR 文件

java - SQLException - 无效的游标状态

php - Laravel 表关系获取用户列表

java - 如何查询/表示列表页中的一对多信息

sql - 如何在单个查询中使用计数和限制在 postgres 中选择数据

mysql - 不确定如何为上述任务构建 SQL 查询

database - 联系人管理系统架构