2012-01-16 29 views
0

让我开始说因为我不知道如何搜索此问题,所以此问题可能也是重复的。SQL以不同的行数连接两个表并复制结果

这里的情况是:

我有以下两个表:

Language: 

- LanguageID 
- Name 

Product: 

- ProductID 
- LanguageID 
- Name 

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

表'产品'包含1条记录 - 产品名称为“TEST”英文。 我想在这两个表上做一个选择,它将返回Language表中每个记录与Product表中相同的产品记录。

所以,

LanguageID, Name , ProductID, ProductName 

1   English 1   Test 

2   Italian 1   Test 

等。

任何想法?谢谢你的帮助!

+0

你想从第一个表的每一行与每一行与第二个表不匹配条件?听起来像一个交叉连接。 – nan 2012-01-16 08:53:01

+2

您是否尝试过任何JOIN查询?你有什么问题? – 2012-01-16 08:54:44

回答

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

从我的理解你想要一个笛卡尔产品,对吧?

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

这会给你的产品和语言

+0

我也不知道我是否正确理解他的问题,但我认为他不是指交叉连接,因为在上面给出的结果中,由于有四种语言,所以只有两条记录而不是四条。 – 2012-01-16 09:01:03

+0

是的,但有这个“等等。”低于结果。我以为他只是不想写其他2。 – Maciek 2012-01-16 09:02:27

0

的每一个可能的组合,这是你想要的吗?

SELECT 
    Language.LanguageID, 
    Language.Name, 
    Product.LanguageID, 
    Product.Name 
FROM 
    Product INNER JOIN Language ON 
     Product.LanguageID = Language.LanguageID 
WHERE Product.Name = 'TEST' 
相关问题