SQL连接两个具有不同行数的表并复制结果

时间:2012-01-16 08:48:42

标签: sql sql-server-2008-r2

首先我要说的是,由于我不知道如何搜索此问题,因此这个问题可能也是重复的。

情况如下:

我有以下两个表:

Language:

 - LanguageID 
 - Name

Product:

 - ProductID
 - LanguageID
 - Name

Language包含4种语言的4种记录:英语,法语,意大利语,西班牙语。

表'产品'包含1条记录 - 用于英文名称“TEST”的产品。 我想对这两个表进行选择,这些表将为Language表中的每个记录返回Product表中的相同产品记录。

所以,

LanguageID, Name ,  ProductID, ProductName

1           English 1          Test

2           Italian 1          Test

等等。

有什么想法吗?谢谢你的帮助!

3 个答案:

答案 0 :(得分:0)

根据我的理解,你想要一个笛卡尔产品,对吗?

SELECT l.LanguageID, l.Name, p.ProductID, p.ProductName from Language l, Product p

这将为您提供产品和语言的所有可能组合

答案 1 :(得分:0)

这就是你想要的吗?

SELECT
    Language.LanguageID,
    Language.Name,
    Product.LanguageID,
    Product.Name
FROM
    Product INNER JOIN Language ON
        Product.LanguageID = Language.LanguageID
WHERE Product.Name = 'TEST' 

答案 2 :(得分:0)

SELECT 
  l.LanguageId,
  l.Name,
  p.ProductId,
  p.Name AS ProductName
FROM Language l
CROSS JOIN Product p