У меня есть две таблицы:MySQL присоединяется к null?
продукта:
id | sku
0 P323
1 K534
Перевод:
Теперь мне нужно отобразить (СЛ) перевод словенский, но если он не существует, Должен отображаться английский.
Я ищу способ, чтобы принести продукты, где результат выглядит следующим образом:
id | sku | name
0 P323 Nek izdelek
1 K534 Some other product
Возможно ли это с MySQL, с помощью одного запроса?
Примечание: запись в таблице переводов, возможно, не существует или существует, но все значения (кроме внешних ключей) могут быть пустыми.
EDIT по запросу: Мне нужно иметь возможность, чтобы привилегированный бэкэнд-пользователь мог создавать столько текстовых полей, сколько им нужен электронный магазин для отображения продукта (например, краткое описание, что находится в пакете, гарантия Информация...). Поэтому я бы предпочел не жестко указывать имена столбцов в SQL-запросе, поскольку это снижает переносимость.
Мне нужно было бы выбрать все поля перевода без указания имен столбцов, как в «translation. *».
Если практическое решение не найдено, я прибегну к ведению записей пользовательских столбцов, которые добавляются при построении запроса (до его выполнения).
[ 'coalesce'] (HTTP : //dev.mysql.com/doc/refman/5.5/en/comparison-operators.html#function_coalesce) будет лучшим выбором, чем 'isnull'. –
@muistooshort Для двух полей, не работает ли 'IFNULL'? – xdazz
Вы правы для производительности, но 'ifnull' является более _readable_ и более понятным для понимания. – rauschen