Query SQL en la cual necesito hacer un JOIN con el operador LIKE

Buenas tardes tengo duda con una consulta SQL en la cual necesito hacer uso de JOIN y el operador LIKE, la cuestion es la siguiente:

Tengo la Tabla Equipo con los siguientes campos:

id_equipo (Primary Key)(pk) nombre vendedor ip_gestion tipo localidad categoria com_snmp ultima_actualizacion 

y tengo la Tabla Interface con los siguientes campos:

id_interface(pk) id_EquipoOrigen(fK)                         status    etiqueta_prtg grupo if_index bw bw_ve id_prtg ospf_per ospf_admin description servicio inUtil outUtil rateIn rateOut id_EquipoDestino(fk) ultima_actualizacion 

Comos se puede observar, en mi tabla Interface tengo dos llaves foraneas(fk) que apuntan a la Tabla Equipo, la cuestion es que quiero actualizar el campo servicio de la tabla Interface dependiendo de como inicia el nombre del equipo asociado al id_EquipoOrigen, es decir si este Equipo empienza por IP7, quiero que se le asigne al campo servicio el valor de VOZ, por ejemplo, esto seria utilizando el operador LIKE para saber como empienza el nombre del equipo, pero la cuestion es que no se como uniria esto con el JOIN, porque para acceder al nombre del equipo necesito hacerlo a traves de la FOREIGN KEY id_EquipoOrigen

Mi consulta al momento:

hice esta consulta para traerme el nombre de un equipo, pero tenia que pasarle el id_EquipoOrigen

Select nombre  from Equipo  INNER JOIN Interface ON Interface.id_EquipoOrigen_id=Equipo.id_equipo  Where id_EquipoOrigen=106, 

¿Cuál es la manera correcta de exportar la propiedad “data” de un component Children a un component Parent?

Pues resulta que estaba haciendo una to-do list típica en Vue para aprender un poco lo básico de como funciona y empecé a hacerla en Codepen pero pronto decidí hacerla en mi propio pc con vue cli.

En concreto mi problema se trata de una funcionalidad v-model de un input y dos v-if de un <h2> no están funcionado. Con los mismos datos en mi proyecto de vue cli no me funciona, y en el codepen si. Creo que es un error de exportar la propiedad data, que es donde se encuentran los mensajes que deben aparecer condicionalmente en los :

// componente "PreTodo.vue"  <template>     <div>     // Si el mensaje_af está vacío imprime el mensaje_be, sino está vacio (si se está escribiendo en el input) entonces imprime el mensaje_af + "To-Do Lista":     <h2 v-if="mensaje_af === ''">{{mensaje_be}}</h2>     <h2 v-if="mensaje_af !== ''">{{mensaje_af + " To-Do Lista"}}</h2>     // Este input Escucha e imprime lo que esté en el mensaje_af:     <input v-model="mensaje_af" type="text" /><button>CREATE</button>     </div> </template>  <script> export default {     name: "PreTodo",     data: {         mensaje_be: "Da Nombre a tu To-Do",         mensaje_af: "",     } } </script>

<template>   <div id="app">       <section class="hero is-warning is-fullheight">         <!-- Container del Centro .start-->         <div class="hero-body">           <div class="container">             <PreTodo />             <Todo />           </div>         </div>         <!-- Container del Centro .end -->          <div class="hero-foot">             <p>Somebody M.A.D.E. this</p>           </div>                  </section>   </div> </template>  <script> import PreTodo from './components/PreTodo' import Todo from "./components/Todo" // Debo importar aquí la propiedad data del componente PreTodo aquí abajo?: export default {   name: 'app',   components: {       PreTodo,       Todo   } } </script>

Lo que me aparece en la pantalla es lo siguiente:

introducir la descripción de la imagen aquí

Además por supuesto, una vez que empiezo a escribir en el input no se actualiza el mensaje en el <h2> al contrario que en el codepen que si lo hace.

Este es el repo onlien donde si funciona bien: https://codepen.io/Assblack/pen/pozeeXB?editors=1010

¿Como puedo saber cual es la forma correcta de utilizar el contenedor para el inyector de dependencias?

Estoy utilizando Symfony2 y cada vez que quiero usar el contenedor del inyector de dependencias tengo que probar una de estas tres formas dependiendo de si estoy en un comando, en un servicio o en un controlador.

¿Hay alguna forma de unificarlo? ¿Por que ocurre esto? ¿como puedo tener siempre accesible el contenedor?

$  prs = $  this->get('rickapp.propiedades'); $  prs = $  this->container->get('rickapp.propiedades'); $  prs = $  this->getContainer()->get('rickapp.propiedades'); 

Agradecería que me redirijáis a documentación en Español. Gracias:)

¿Cual seria la declaracion del interface en la libreria?

tengo el siguiente codigo java

ChangeListener<Number> listener = StrongListener::changed; 

y luego en su uso

public static void Changed(ObservableValue<? extends Number>prop,Number OldValue,Number newValue){ ///codigo de la funcion  } 

¿Como se definirian ambos de forma generica en la libreria?Vamos,¿cual seria la firma de la funcion al definirla? Y llegado el caso ¿proque en la segunda parte que es el uso de la funcion hay que repetir el template

ObservableValue<? extends Number> 

¿Qué son los recursos administrados y no administrados y cuál es la diferencia?

He estado leyendo este post en donde explican lo que son los recursos administrados y no administrados, y básicamente como yo lo entiendo los recursos administrados viene a ser nuestro propio código en nuestro propio marco de trabajo y los recursos no administrados viene a ser código de otros lenguajes, de otros marcos de trabajo. ¿Estoy en lo correcto?

Cual crees que es la mejor forma de hacer un Splash, a mi me esta costando

Tengo unas dudas de como desarrollar correctamente que pasen datos de un Splash hacia el MainActivity. Estoy utilizando las librerías OkHttp y Gson, por que los datos recibidos es un JSON. Ademas no se si seria lo mas correcto de que la tarea sea Asíncrona, para que trabaje en segundo plano y cargue los datos. Pero no estoy seguro si lo estoy haciendo bien. Ya que la idea es tener un Botón en el Splash y que cuando pulsen cargue los datos del JSON mientras que se muestra una barra de precarga/preloader, hasta que se hayan cargado los datos correctamente y pase a la segunda actividad con los datos Json.

Splash

public class Splash extends AppCompatActivity {  public Button btnEntrar; public LottieAnimationView animation_view; public String URL = "https://www.midominio.com/questions.json";  @Override protected void onCreate(@Nullable Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.splash_activity);      btnEntrar = findViewById(R.id.btnEntrar);     animation_view = findViewById(R.id.animation_view);      btnEntrar.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View v) {             animation_view.setVisibility(View.VISIBLE);             btnEntrar.setVisibility(View.INVISIBLE);             AsynchronousObtenJSON();         }     });  }   public void AsynchronousObtenJSON(){     OkHttpClient client = new OkHttpClient();     Request request = new Request.Builder()             .url(URL)             .build();     Call call = client.newCall(request);     call.enqueue(new Callback() {         @Override         public void onFailure(Call call, IOException e) {             Log.d("Mensaje", "Peta la conexion con el JSON");         }          @Override         public void onResponse(Call call, Response response) throws IOException {             String json = response.body().string();             String idiomaDisp = Locale.getDefault().getLanguage(); //Identificamos el Idioma del Dispositivo             Gson gson = new Gson();             final Base base = gson.fromJson(json, Base.class);             Intent intent = new Intent(Splash.this, MainActivity.class);             intent.putExtra("base", base);             startActivity(intent);             finish();         }     }); } 

MainActivity

public class MainActivity extends AppCompatActivity {  public Base in;  @Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);      in = (Base) getIntent().getSerializableExtra("datos");   } 

¿Cual es la diferencia entre ViewModel y BaseObservable?

Recien estoy adentrandome en el tema de LiveData y despues de leer un monton de post me surgen las siguientes dudas:

Cual es la diferencia en extender una clase a:

public class MiClase extends ViewModel 

o

public class MiClase extends BaseObservable 

??

Cual es la diferencia entre usar MutableLiveData<>, ObservableField o MediatorLiveData? cual deberia usar? les agradeceria mucho si me comparten un ejemplo. Gracias.

¿Saber cual polylinea esta mas cerca de una coordenada OpenLayer5?

Tengo muy poco tiempo de usar openLayer ,estoy intentando obtener la ruta mas cercana a una coordenada tengo 5 rutas actualmente que se crean con multiples coordenadas

var route1=[[5.072014331817627, -75.52483677864075],       [5.062379837036133, -75.52104949951172],       [5.062122344970703, -75.51032066345215],       [5.065984725952148, -75.51040649414062],       [5.062294006347656, -75.49791812896729]]; var route2=[[5.060148239135742,-75.52225112915039],[5.060920715332031,-75.49856185913086]]; 

las cuales me general una linea para cada ruta

mi problema es que me dan una coordenada y debo obtener la distancia que tiene entre cada ruta ya sea entre el punto mas cercano que conforma esa ruta

cual es la manera correcta de sumar o restar valores de una columna dataframes por condicional?

Tengo dos DataFrame y quiero hacer algo asi .. “si 'stock' de df2 es mayor al 'stock' de df1, restar, else sumar. El problema es que cuando hago la condición.. la respuesta puede ser True o False y nose como tomar solo los True y operar, y de la misma manera con los False

df1 = pd.DataFrame({'id_producto':['111','222','333','444','555'],               'stock':[10,100,3,40,50],                   'version':[1,1,1,1,1]})  df2 = pd.DataFrame({'id_producto':['111','222','333','444','555'],               'stock':[50,10,30,41,49],                   'version':[2,2,2,2,2]})  #esto es lo que quisiera hacer, pero me arroja error   if df2['stock'] > df1['stock']:     print(df2['stock']-df1['stock']) else:     df1['stock'] + df2['stock'] 

The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Se agradece de antemano cualquier ayuda, saludos