我是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 田地。
好的,这个查询工作正常,我获得了项目列表。
我的问题是,现在我必须修改上一个查询以加入存储在另一个名为 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或类似的东西。
实现此任务的最佳方法是什么?
答案 0 :(得分:2)
那么,您正在寻找连接语法吗?
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;
答案 1 :(得分:1)
尝试:
{{1}}