В принципе, у меня есть две таблицы: управление и картинки. Мне нужен список со всеми свойствами из таблицы управления. Если изображения существуют, список должен показывать только первое изображение (seq = 1).SQL выбрать из двух таблиц с ограничениями
Моя проблема: список не отображает свойства без изображений. Как я могу это решить?
У меня есть следующие таблицы:
tblMan
propid | city | lang | ...
1 Mol NL
2 Olen NL
3 Geel NL
4 Ham FR
tblPic
propid | lang | seq | filename
1 NL 1 file11
1 FR 1 file12
1 NL 2 file13
1 FR 2 file14
1 NL 3 file15
1 FR 3 file16
3 NL 22 file17
3 FR 22 file18
3 NL 23 file19
3 FR 23 file20
3 NL 24 file21
3 FR 24 file22
SELECT m.propid, m.city, p.filename
FROM tblMan as m
INNER JOIN tblProp as p ON m.propid = p.propid
WHERE m.lang = 'NL' AND p.lang = 'NL' AND p.picture_index = '1'
Результат является:
propid | city | filename
1 Mol file11
3 Geel file17
Он не получает propid 2 (Олен), потому что есть нет изображения!
Я хочу, чтобы результат:
propid | city | filename
1 Mol file11
2 Olen (Null or 0 or...)
3 Geel file17
Я попытался подзапрос, союз, CONCAT ... (@ _ @) без результата.
У кого-нибудь есть идеал, какой оператор SQL я должен использовать?
Спасибо за помощь!
Это отлично работает. Моя следующая проблема: есть фотографии, где последовательность (picture_index) начинается с 22 или 32 ... вместо 1. Когда я использую min(), я получаю «Недопустимое использование групповой функции». Благодаря! – swebd
можете ли вы обновить эту демонстрацию с помощью индекса изображения, чтобы я мог обновить ответ? http://sqlfiddle.com/#!2/00c82/2 –