SQL объединяет две таблицы с разным количеством строк и копирует результаты - PullRequest
0 голосов
/ 16 января 2012

Позвольте мне начать с того, что, поскольку я не знаю, как искать эту проблему, этот вопрос также может быть дубликатом.

Вот ситуация:

У меня естьследующие две таблицы:

Language:

 - LanguageID 
 - Name

и

Product:

 - ProductID
 - LanguageID
 - Name

Таблица Language содержит 4 записи на четырех языках: английском, французском, итальянском, испанском.

Таблица «Продукт» содержит 1 запись - для продукта с именем «ТЕСТ» на английском языке.Я хотел бы выбрать для этих двух таблиц, которые будут возвращать для каждой записи в таблице Language одну и ту же запись продукта из таблицы Product.

Итак,

LanguageID, Name ,  ProductID, ProductName

1           English 1          Test

2           Italian 1          Test

и т. д.

Есть идеи?Спасибо за любую помощь!

Ответы [ 3 ]

0 голосов
/ 16 января 2012

это то, что вы хотите?

SELECT
    Language.LanguageID,
    Language.Name,
    Product.LanguageID,
    Product.Name
FROM
    Product INNER JOIN Language ON
        Product.LanguageID = Language.LanguageID
WHERE Product.Name = 'TEST' 
0 голосов
/ 16 января 2012
SELECT 
  l.LanguageId,
  l.Name,
  p.ProductId,
  p.Name AS ProductName
FROM Language l
CROSS JOIN Product p
0 голосов
/ 16 января 2012

Из того, что я понял, вы хотите получить декартово произведение, верно?

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

Это даст вам всевозможные комбинации Продукта и Языка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...