Итак, вот что я пытаюсь сделать.Мой босс хочет разместить все машины, которые у нас есть, на нашей домашней странице и случайно вытащить 8 из них одновременно.При настройке схемы нашей базы данных продукты и категории в отдельных таблицах используют перекрестную ссылку для определения категории, к которой относится продукт.Таблица с категориями имеет родителя, который является прямым идентификатором из другой категории.Итак, вот SQL, который я придумал.
SELECT product.productID,
product.productSKU,
product.price,
product.name,
product.stateInd,
category.parentID,
category.categoryID,
prod_cat.productID FROM category
LEFT JOIN prod_cat
ON prod_cat.categoryID = category.categoryID
LEFT JOIN product
ON product.productID = prod_cat.productID
WHERE category.parentID = <cfqueryparam value="#catID#" cfsqltype="cf_sql_varchar" /> AND product.name <> "" AND RAND()
LIMIT 8
Я надеюсь, что все имеет смысл.Мне просто тяжело не только потянуть 8 продуктов, но и убедиться, что эти 8 продуктов уникальны.О, и я попытался поставить DISTINCT после выбора, но продукт все еще был выбран дважды.
Спасибо!