如何将 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_INT 和 COD_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;
我是 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_INT 和 COD_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;