par
swedge » 06 juil. 2018, 15:05
Bonjour à tous,
J'ai une requête SQL standard que j'utilise dans une boucle pour agréger les résultats de plusieurs BDD.
Les BDD concernées ont une structure à 99% similaire.
Voici la requête :
SELECT o.*, op.products_name
FROM orders o
LEFT JOIN products_description pd ON op.products_id = pd.products_id
WHERE o.sort_order = '5' AND (o.orders_id ='".$_POST['search']."' OR
o.order_id_bis ='".$_POST['search']."' OR o.customers_email_address LIKE '%".$_POST['search']."%')
Le soucis provient du champs order_id_bis (en gras) qui est présent que dans certaines des BDD de ma boucle.
Du coup quand je lance cette requête j'ai une Fatal error dès que la boucle arrive sur une BDD n'ayant pas le champs.
J'aurais voulu savoir s'il était possible d'indiquer en Sql de faire le Where que si le champs existe dans la BDD.
En gros si la BDD ne contient pas ce champs, le Where sur ce champs ne se fait pas et il n'y a pas d'erreur retournée. Par contre si le champs existe dans la BDD on fait le Where.
J'espère avoir été le plus clair possible
Par avance merci pour votre aide.
Stephen