mysql - SQL Join 查询连接 2 个表以获得所需的输出

标签 mysql sql-server join

我有 2 个表,需要连接它们才能获得所需的结果。我尝试了多种类型的连接,但没有成功。 请帮忙。下面是我的表格的样子:

从 t1 中选择 *

ProductId, Sequence, Property
100, 1, Size
100, 2, Folder
100, 3, License
101, 1, Usage
101, 2, Duration

从 t2 中选择 *

SrNo, ProductId, Property, PropertyValue
1,    100, Size, 10GB
2,    100, Folder, /home/path
3,    101, Usage, Database

我需要加入他们才能得到以下结果:

SrNo, ProductId, Sequence, Property, PropertyValue
1     100         1         Size      10GB
1     100         2         Folder    
1     100         3         License     
2     100         1         Size      
2     100         2         Folder    /home/path
2     100         3         License   
3     101         1         Usage      Database
3     101         2         Duration    

下面是重现相同表的 SQL:

create table t1 (ProductId INT, Sequence INT, Property VARCHAR(255))
insert into t1 values(100,1,'Size');
insert into t1 values(100,2,'Folder');
insert into t1 values(100,3,'License');
insert into t1 values(101,1,'Usage');
insert into t1 values(101,2,'Duration');

create table t2 (SrNo INT, ProductId INT, Property VARCHAR(255), PropertyValue VARCHAR(255))
insert into t2 values(1,100,'Size','10GB');
insert into t2 values(2,100,'Folder','/home/path');
insert into t2 values(3,101,'Usage','Database');

请帮助我如何编写查询?

最佳答案

SELECT
    table2.SrNo,
    table1.ProductId,
    table1.Sequence, 
    table1.Property,
    table2.PropertyValue
FROM t1 AS table1  
JOIN t2 AS table2 ON table1.ProductId = table2.ProductId

关于mysql - SQL Join 查询连接 2 个表以获得所需的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35273159/

相关文章:

sql - 在 SQL Server VARCHAR 列中插入尾随空格

javascript - 将 SQL 命令与数据库匹配

mysql - 从连接表中获取最大日期

python - SQLAlchemy 中的过滤关系

php - 在非对象上调用成员函数bind_param()?那我该怎么办?

mysql - 你如何检查 MySQL 中同一行的多个值?

sql-server - SQL Server管理工作室: icon meaning

sql - 对表 "mdl_user"的 FROM 子句条目的引用无效

mysql - 使用 SQLAlchemy 创建表后,如何向其中添加其他列?

mysql - 当查询在 delphi 中选择 varchar 数据类型的列时打开 MySQL 查询