У меня есть 2 таблицы, таблица продуктов и таблица изображений. Продукты могут иметь более 1 изображения на запись. Мне нужен оператор SQL, который будет отображать 1 изображение на продукт, а не все изображения для каждого продукта.SQL: заявление, чтобы показать 1 дочернюю запись для одного родителя в отношениях «один ко многим»
Уменьшенных вниз пример моих текущих усилий:
SELECT Product.RefCode, Img.ImgPath
FROM Product INNER JOIN (
SELECT ProductImg.ImgPath, ProductImg.PrdFK
FROM ProductImg
LIMIT 0,1) AS Img ON Product.PrdID = Img.PrdFK;
Приведенные выше пример возвращает 0 результатов, однако, если я удалю LIMIT 0,1 от Sub ВЫБРАТЬ я получить полный список всех продуктов и все изображения.
Я просто хочу, чтобы 1 запись изображения на запись продукта была возвращена.
Я переработал код «программист» для MySQL, и он отлично работает.
SELECT Product.RefCode,
(Select ProductImg.ImgPath
From ProductImg
Where Product.PrdID = Img.PrdFK LIMIT 0,1) AS ImgPath
FROM Products
По какой-то причине при попытке решения «Билла Карвина» он долгое время загружал сервер.
Ключевое слово TOP принадлежит Microsoft SQL Server (и Sybase). –
Извините, я этого не знал. Большое спасибо. –
Я сделал небольшую ревизию (см. Выше), но заявление отлично работало, спасибо. – ticallian