INNER JOIN (ver artículo:
INNER JOIN) se usa para indicar que uno o más campos de una tabla están relacionados con otros tantos de la seguda, tales que sólo se devolverán como resultado aquellos registros donde los valores sean coincidentes entre ambas.
En esencia es el caso de una factura, donde el encabezado de la factura (numero, fecha, cliente, etc) se registra en una tabla, mientras que el detalle (numerode factura, numero de item, codigo de articulo, cantidad) se registra en otra. como la segunda tabla (detalle) contiene también en cada registro el numero de factura a que pertenece ese subitem, la consulta queda:
Esto devolverá sólo los datos de la factura 123, junto con todo el detalle de la misma factura.
En tu caso, para poder saber cómo relacionar hoteles, rest, pecuaria, nautica, embarcaderos, eventos, emergencias y clasificados, necesitamos conocer la estructura de cada tabla (el CREATE TABLE de cada una), para ver cómo es la relación, ya que es muy posible (metida de pata muy habitual en los principiantes) que hayas usado diferentes nombres para le valor de FOREIGN KEY respecto de la PK referida. Y en ese caso, MySQL no puede saberlo. Hay que indicarlo en forma específica.
Por ejemplo:
Este sería el ejemplo más habitual de como ponen el mismo valor con diferenets nombres en cada tabla.
Como MySQL, en los JOIN implícitos (la coma) hace matching usando el nombre de las columnas, puede estar intentando cruzar ID de una tabla con ID de otra, cuando en realidad se refieren a valores completamente diferentes e incompatibles.
Y en ese caso los resultados son irreales, si es que existen.
Ten muy en cuenta que
no se pueden ni se deben hacer JOINs entre tablas que no estén relacionadas. Es decir, que si no estableciste relaciones PK/FK en tus tablas, la consulta sería simplemente imposible; devolvería
trash data.
Si no sabes cómo recuperar los CREATE TABLE, simplemente haz:
Copia el resultado de cada una, y postealo acá.