je suis arrivé la requête suivante:MySQL attributs de recherche (Strict)
SELECT SQL_CALC_FOUND_ROWS u.unit_id, u.unit_serial_full, u.unit_status, u.contract_id, u.warehouse_id,
m.model_name,
c.contract_name,
t.transfer_id,
w.warehouse_name_full
FROM units AS u
LEFT JOIN models AS m ON m.model_id = u.model_id
LEFT JOIN contracts AS c ON c.contract_id = u.contract_id
LEFT JOIN transfers AS t ON t.transfer_id = u.transfer_id
LEFT JOIN warehouses AS w ON w.warehouse_id = u.warehouse_id
LEFT JOIN units_attributes AS ua ON ua.unit_id = u.unit_id
WHERE 1
AND u.company_id = :company_id
AND (
(
u.model_id = "4"
AND (
ua.attribute_id = :attribute_id_0 AND attribute_default = :attribute_value_0
)
AND (
ua.attribute_id = :attribute_id_1 AND attribute_default = :attribute_value_1
)
)
)
Si je recherche avec 2 attributs ou plus, il donne aucun résultat, mais si je ne dispose que 1 attribut, les travaux de recherche comme prévu. Des idées ?
La recherche doit être stricte. Pas avec wildcard.
Merci.
que j'ai compris, la question est comment ça peut être? –
Eh bien, vous pouvez utiliser une condition OU –
L'OR permettra à 1 unité d'avoir 1 valeur et l'autre unité d'avoir une valeur mais elles ne partageront pas 2, 3 ou 4 valeurs d'attribut similaires. –