entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

consulta inner join

hola buenas tarde teno dos tablas

CREATE TABLE `vehiculo` (
  `id` int(11) NOT NULL,
  `marca` varchar(100) NOT NULL,
  `modelo` varchar(100) NOT NULL,
  `patente` varchar(10) NOT NULL,
  `ano` varchar(5) NOT NULL,
  `motor` varchar(20) NOT NULL,
  `chasis` varchar(20) NOT NULL,
  `vtv` date NOT NULL,
  `seguro` varchar(100) NOT NULL,
  `poliza` varchar(100) NOT NULL,
  `gnc` date NOT NULL,
  `blindado` varchar(20) NOT NULL,
  `estado` varchar(20) NOT NULL,
  `fecha_ingreso` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `vehi_matenimiento` (
  `id` int(11) NOT NULL,
  `id_vehi` int(11) NOT NULL,
  `cubiertas` varchar(20) NOT NULL,
  `tren_delantero` varchar(20) NOT NULL,
  `amortiguador` varchar(20) NOT NULL,
  `alineacion` varchar(20) NOT NULL,
  `bateria` varchar(20) NOT NULL,
  `aceite` varchar(20) NOT NULL,
  `fil_aceite` varchar(20) NOT NULL,
  `fil_aire` varchar(20) NOT NULL,
  `fil_nafta` varchar(20) NOT NULL,
  `fil_antipolen` varchar(20) NOT NULL,
  `refrigerante` varchar(20) NOT NULL,
  `frenos` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

yo hice la consulta sql

SELECT v.patente patente,vh.`fecha`,vh.`cubiertas`,
vh.`tren_delantero`,vh.`amortiguador`,vh.`alineacion`,
vh.`bateria`,vh.`aceite`,vh.`fil_aceite`,vh.`fil_aire`,
vh.`fil_nafta`,vh.`fil_antipolen`,vh.`refrigerante`,vh.`frenos`
FROM `vehi_matenimiento` vh
INNER JOIN vehiculo v on vh.id_vehi= v.id 
where vh.id = v.id  and = ".$_GET["id"]

pero ahora bien hago la consulta sql y quiero que me saque el id asi lo paso por parametro para poder editarlo porque no me sale y quisiera hacer un caja de busqueda con esa consulta por favor desde ya gracias.-

1 Respuesta

3votos

Leonardo-Tadei Puntos227320

Hola @gustavoesquivel2004,

Para que en la proyección aparezca el ID, bastaría con que en el SELECT agregues v.d entre los campos.

Sería:

SELECT v.id, v.patente patente,vh.`fecha`,vh.`cubiertas`,
vh.`tren_delantero`,vh.`amortiguador`,vh.`alineacion`,
vh.`bateria`,vh.`aceite`,vh.`fil_aceite`,vh.`fil_aire`,
vh.`fil_nafta`,vh.`fil_antipolen`,vh.`refrigerante`,vh.`frenos`
FROM `vehi_matenimiento` vh
INNER JOIN vehiculo v on vh.id_vehi= v.id 
where vh.id = v.id  and = ".$_GET["id"]

Por otra parte, en el WHERE al final la parte vh.id = v.id hace que la query no funcione bien, porque en esta caso solo devolverías los Vehículos que tengan el mismo ID que un Manteniento, lo cual rara vez van a coincidir porque supongo que ambos campos son clave primaria y autoincrementales...

Para elegir el mantenimiento de un vehículo seleccionado, deberías terminar con:

...
where v.id = ".$_GET["id"]

Para terminar, es muy posible que tengas mal normalizado tu almacenamiento: sin conocer el problema no se puede asegurar, pero parece que te faltan tablas para Marcas, Modelos, Estados y Tipos de Mantenimiento para relacionar 1-N con vehi_matenimiento...

Saludos cordiales!

0voto

gustavoesquivel2004 comentado

no se porque no anda te puedo mandar el achivo y me los miras porfavor que no me sale y me estoy rompiendo la cabeza.

1voto

Peter comentado

@gustavoesquivel2004 para eso estás aquí, para darle solución, no para que te lo hagan y te lo manden. Plantea aquí tus dudas, con gusto recibes ayuda y orientación.

Saludos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta