我是 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_INT 和 COD_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/