Organizar la base de datos y columnas multichoice por cronjob

seller: id, age, origin, gender, buyer_age, buyer_origin, buyer_gender buyer: id, age, origin, seller_age, seller_origin, seller_gender 

Aquí queremos sugerir al comprador que compre a este vendedor
Y
sugerir al vendedor que venda cosas al comprador
con cronjob
Se prefiere hacerlo con una consulta en lugar de un vendedor foreach. ¿Cuál es la forma más eficiente de hacerlo? No quiero SELECCIONAR cada uno y obtener información, luego cambiar la consulta y SELECCIONAR de nuevo es un proceso destructivo para codificar y usar la memoria del sistema. Si existe la posibilidad de utilizar join o algo así con la statement siguiente, entonces está bien.
Si el vendedor o el comprador dice que la edad y el origen NO son importantes para mí, ¿cómo es posible? Esta ahí

  WHERE seller_origin = ANY 

en mysql?

En primer lugar, cambie todos los nombres de las columnas tanto del comprador como del vendedor, con el prefijo del nombre de la tabla en la que se originan, ya que uniremos las tablas.

 SELECT * FROM seller INNER JOIN buyer ON (seller.buyer_gender = buyer.gender OR seller.buyer_gender IS NULL) AND (buyer.seller_gender = buyer.gender OR buyer.seller_gender IS NULL) AND (seller.buyer_origin = buyer.origin OR seller.buyer_origin IS NULL) AND (buyer.seller_origin = seller.origin OR buyer.seller_origin IS NULL) AND (seller.buyer_age = buyer.age OR seller.buyer_age IS NULL) AND (buyer.seller_age = seller.age OR buyer.seller_age IS NULL)