如何将 select 在 table 上获得的所有记录与另一个 table 的记录合并?

How can I join all the record obtained by a select on a table with the records of another table?

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

所以我的情况是:

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

它具有以下结构:

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_INTERVENTOtable的一个记录)有2个特定的值COD_TIP_STA_INTCOD_TIP_BAN 字段。

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

我的问题是现在我必须修改之前的查询以将存储的信息加入另一个名为 TID031_PIANO.[=17= 的 table ]

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

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     
..............................................................
..............................................................
..............................................................

因此,如您所见,在这一秒 table (TID031_PIANO) 中有 PRG_INT 字段表示 TID023_INTERVENTO table.

的主键

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

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

然后遍历每条记录以获得主键,然后使用此主键对 TID031_PIANO 执行第二个简单的 select 查询table 在此 table.

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;

尝试:

SELECT * FROM 
    TID023_INTERVENTO t1 
      INNER JOIN TID031_PIANO t2 
      ON (t1.PRG_INT = t2.PRG_INT) 
WHERE 
      COD_TIP_STA_INT = 2 AND COD_TIP_BAN = 2;