У меня есть следующий вопрос sql, который я не буду работать для меня. Я знаю, что последняя строка CASE неверна, но я хотел бы использовать оператор CASE, подобный этому в моем разделе where.SQL - case in where clause
Краткое описание моей ситуации: У меня есть несколько компаний, у которых есть собственный материал, связанный с ними с «companyID». Каждый материал может быть связан со строкой в pricelist_entries. Если я ищу одну строку в таблице pricelist_entries, которая связана со многими материальными строками, все строки будут возвращены, но я просто хочу вернуть ту, которая принадлежит текущей компании (компании, которая выполняет поиск). Заключение: Если материал НЕ НЕИСПРАВНО, то материалы.company = "current.companyID".
SELECT peID, peName, materialID
FROM pricelist_entries
INNER JOIN pricelist ON pricelist_entries.peParentID=pricelist.pID
LEFT JOIN materials ON pricelist_entries.peID=materials.pricelist_entries_id
WHERE peBrand = 'Kama' AND pricelist.pCurrent = 1
AND (peName LIKE '%gocamp de%' OR peArtnr LIKE '%gocamp de%')
AND pricelist.country=0 AND pricelist_entries.peDeleted=0
CASE materialID WHEN IS NOT NULL THEN materials.companyID=10 END
Скажите, пожалуйста, если мне нужно лучше описать мою проблему. Спасибо заранее!
Это именно то, что я искал. Благодаря! :) – hgerdin