Итак, вот что я пытаюсь сделать. Мой босс хочет поставить все транспортные средства, которые у нас есть на нашей домашней странице, и произвольно вытащить 8 из них за раз. Способ настройки нашей схемы базы данных имеет продукты и категории в отдельных таблицах с использованием перекрестной ссылки для определения категории, в которой находится продукт. В таблице с категориями есть родитель, который является прямым идентификатором из другой категории. Итак, вот SQL, с которым я столкнулся.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 после выбора, но продукт все еще был выбран дважды.
Спасибо!
Ok прохлады! Я работал над этим еще и получил заказ от rand, который понял ... но он все еще дублировал. Вот тогда я понял, что у нас есть 2 продукта с одинаковым именем, одна и та же картина - только разные номера деталей ... если это имеет смысл :) В любом случае, я тоже попробую порядок! Спасибо! + –