sql >> データベース >  >> RDS >> Mysql

MySQL検索製品とその属性

    product_filtersに参加する必要があります 属性ごとに個別に:

    SELECT DISTINCT products.*  
    FROM products
    JOIN product_filters AS f1 ON f1.product_id=products.id
    JOIN product_filters AS f2 ON f2.product_id=products.id
    WHERE ( f1.attribute_id=1 and f1.filter_id in (1,2) )
    AND ( f2.attribute_id=3 and f2.filter_id in (6) )
    

    デモ

    あなたのバージョンは、product_filtersで単一の行を見つけようとしました 両方の属性IDがありますが、これは不可能です。




    1. MySQLの親->子クエリ

    2. mysqli_fetch_array()は、パラメーター1がmysqli_resultであると想定しています。ブール値は次のように指定されます。

    3. コマンドラインを介してLinux上のMySQLユーザーに権限を付与する

    4. SQLiteのバージョンを確認してください