CREATE TABLE USUARIO (
codigo INTEGER NOT NULL,
nombre varchar (200),
Email varchar(45),
telefono INTEGER NULL,
Fecha DATE,
paswordd VARCHAR(45),
PRIMARY KEY(Codigo)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE ANUNCIO (
codigo INTEGER NOT NULL,
titulo varchar(25),
comentario varchar(45),
precio_venta INTEGER,
imagen_vehiculo BLOB,
Fecha_anucio INTEGER,
contador INTEGER,
usuario_codigo INTEGER,
PRIMARY KEY(codigo),
CONSTRAINT FKIndex_marca_1 FOREIGN KEY(usuario_codigo) REFERENCES usuario(codigo) ON DELETE NO ACTION
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE MARCA (
codigo INTEGER NOT NULL,
descripcion varchar(325),
PRIMARY KEY(codigo)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE MODELO (
codigo INTEGER NOT NULL,
descripcion varchar(100),
PRIMARY KEY(codigo)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE COCHE (
codigo INTEGER NOT NULL,
MODELO_codigo INTEGER,
MARCA_codigo INTEGER,
matricula VARCHAR(10),
fecha_mat DATE,
PRIMARY KEY(codigo),
CONSTRAINT FKIndex_modelo FOREIGN KEY(MODELO_codigo) REFERENCES modelo(codigo) ON DELETE NO ACTION,
CONSTRAINT FKIndex_marca_2 FOREIGN KEY(MARCA_codigo) REFERENCES marca(codigo) ON DELETE NO ACTION
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE PRECIO (
Codigo INTEGER NOT NULL,
COCHE_codigo INTEGER NOT NULL,
COCHE_MODELO_codigo INTEGER NOT NULL,
COCHE_MARCA_codigo INTEGER NOT NULL,
precio_max_vehicu INTEGER,
precio_min_vehicu INTEGER,
PRIMARY KEY(codigo),
CONSTRAINT FKIndex_coche FOREIGN KEY(COCHE_codigo) REFERENCES coche(codigo) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT FKIndex_coche_modelo_3 FOREIGN KEY(COCHE_MODELO_codigo) REFERENCES coche(codigo) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT FKIndex_coche_marca_3 FOREIGN KEY(COCHE_MARCA_codigo) REFERENCES coche(codigo) ON DELETE NO ACTION ON UPDATE NO ACTION
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE TIPO_USER (
codigo INTEGER NOT NULL,
descripcion VARCHAR(200),
PRIMARY KEY(codigo),
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE CUENTA (
codigo INTEGER NOT NULL,
TIPO_user_codigo INTEGER,
USUARIO_Codigo INTEGER,
estado_cuenta varchar(20),
eliminar_cuenta varchar(45),
descripcion varchar(200),
PRIMARY KEY(Codigo),
CONSTRAINT FKIndex_usuario FOREIGN KEY(USUARIO_Codigo) REFERENCES usuario(codigo) ON DELETE NO ACTION,
CONSTRAINT FKIndex_tipo_user FOREIGN KEY(TIPO_user_codigo) REFERENCES TIPO_USER(codigo) ON DELETE NO ACTION
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE PAIS(
Codigo INTEGER NOT NULL,
Descripcion varchar(45),
PRIMARY KEY(Codigo),
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE PROVINCIA (
Codigo INTEGER NOT NULL,
PAIS_codigo INTEGER,
Descripcin varchar(200),
PRIMARY KEY(Codigo),
CONSTRAINT FKIndex_PAIS FOREIGN KEY(PAIS_codigo) REFERENCES PAIS(codigo) ON DELETE NO ACTION
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
JanKusanagi escribió:y... que es lo que has intentado?
JanKusanagi escribió:Me referia al codigo de la consulta que has intentado y que te da error o no acaba de ser correcta
SELECT precio_min_vehicu,COCHE_codigo,MARCA_codigo, descripcion
FROM precio,coche,marca
where precio_min_vehiculo = '1000' AND MARCA_codigo='seat'
SELECT DISTINCT COCHE_codigo, precio_min_vehicu, MARCA_codigo, descripcion
FROM coche ,marca,precio
WHERE coche.codigo = precio.COCHE_CODIGO AND coche.MARCA_CODIGO = marca.codigo AND
precio_min_vehicu >= '1000' AND (descripcion = 'ibiza' OR descripcion = 'seat')
Zorkky escribió:No he podido mirar mucho las tablas, pero mira a ver si así te funciona:SELECT DISTINCT COCHE_codigo, precio_min_vehicu, MARCA_codigo, descripcion
FROM coche ,marca,precio
WHERE coche.codigo = precio.COCHE_CODIGO AND coche.MARCA_CODIGO = marca.codigo AND
precio_min_vehicu >= '1000' AND (descripcion = 'ibiza' OR descripcion = 'seat')
Zorkky escribió:No he podido mirar mucho las tablas, pero mira a ver si así te funciona:SELECT DISTINCT t1.COCHE_codigo, t3.precio_min_vehicu, t2.MARCA_codigo, t1.descripcion
FROM coche t1, marca t2, precio t3
WHERE coche.codigo = precio.COCHE_CODIGO AND coche.MARCA_CODIGO = marca.codigo AND
precio_min_vehicu >= '1000' AND (descripcion = 'ibiza' OR descripcion = 'seat')
Darthgon escribió:Zorkky escribió:No he podido mirar mucho las tablas, pero mira a ver si así te funciona:SELECT DISTINCT COCHE_codigo, precio_min_vehicu, MARCA_codigo, descripcion
FROM coche ,marca,precio
WHERE coche.codigo = precio.COCHE_CODIGO AND coche.MARCA_CODIGO = marca.codigo AND
precio_min_vehicu >= '1000' AND (descripcion = 'ibiza' OR descripcion = 'seat')
El último "AND" se puede dejar en un IN => "AND descripcion IN ('ibiza', 'seat') y te ahorras unas letras jeje ; ) .
SyTo escribió:...
SyTo escribió:Muchas gracias a todos por vuestra ayuda..Haber si puedo probarlo esta noche y os digo algo esta misma noche y si no mañana a la mañana os confirmo que me ha ido..
Muchisimas gracias..
SELECT DISTINCT COCHE_codigo, precio_min_vehicu, MARCA_codigo, descripcion
FROM coche ,marca,precio
WHERE coche.codigo = precio.COCHE_CODIGO AND coche.MARCA_CODIGO = marca.codigo AND
precio_min_vehicu >= '1000' AND (descripcion = 'ibiza' OR descripcion = 'seat')
CREATE TABLE COCHE (
codigo INTEGER NOT NULL,
USUARIO_codigo INTEGER,
MARCA_codigo INTEGER,
PROVINCIA_codigo INTEGER,
matricula VARCHAR(10),
fecha_mat DATE,
Precio_min_vehicu INTEGER,
Precio_max_vehicu INTEGER,
PRIMARY KEY(codigo),
CONSTRAINT FKIndex_marca_2 FOREIGN KEY(MARCA_codigo) REFERENCES marca(codigo) ON DELETE NO ACTION,
CONSTRAINT FKIndex_provincia_7 FOREIGN KEY(PROVINCIA_codigo) REFERENCES provincia(codigo) ON DELETE NO ACTION,
CONSTRAINT FKIndex_usuario_6 FOREIGN KEY(USUARIO_codigo) REFERENCES usuario(codigo) ON DELETE NO ACTION
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE MARCA (
codigo INTEGER NOT NULL,
descripcion varchar(325),
PRIMARY KEY(codigo)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO MARCA (codigo, descripcion) VALUES ('0001', 'honda');
INSERT INTO MARCA (codigo, descripcion) VALUES ('0002', 'toyota');
INSERT INTO MARCA (codigo, descripcion) VALUES ('0003', 'seat');
INSERT INTO MARCA (codigo, descripcion) VALUES ('0004', 'ibiza');
INSERT INTO MARCA (codigo, descripcion) VALUES ('0005', 'seat');
INSERT INTO MARCA (codigo, descripcion) VALUES ('0006', 'seat');
INSERT INTO MARCA (codigo, descripcion) VALUES ('0007', 'seat');
INSERT INTO MARCA (codigo, descripcion) VALUES ('0008', 'ibiza');
INSERT INTO MARCA (codigo, descripcion) VALUES ('0009', 'audi');
INSERT INTO MARCA (codigo, descripcion) VALUES ('0010', 'ibiza');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('0001', 'A9676CA', '1990/02/03', '5000', '10000');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('0002', 'A9675CA', '1990/02/03', '5000', '15000');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('0003', 'A9673CA', '1990/02/03', '5000', '13000');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('0004', 'A9336CA', '1990/02/03', '5000', '27000');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('0005', 'A9276CA', '1990/02/03', '5000', '18000');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('0006', 'A9176CA', '1990/02/03', '5000', '16000');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('0007', 'A9456CA', '1990/02/03', '5000', '15000');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('0008', 'A9676CA', '1990/02/03', '5000', '23000');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('0009', 'A9666CA', '1990/02/03', '5000', '12000');
INSERT INTO COCHE (codigo, matricula, fecha_mat, precio_min_vehicu, precio_max_vehicu) VALUES ('00010','A7976CA', '1990/02/03', '5000', '26000');
Zorkky escribió:en el campo MARCA_codigo de la tabla COCHE no introduces nada?
edit: la consulta queda obsoleta con el cambio estructural que has hecho
y para qué pones varias veces la misma marca en la tabla MARCA? ?¿
Zorkky escribió:pero una fila tendría que ser una marca diferente, tal y como lo has puesto es como si hubiesen diferentes marcas que da la casualidad tienen el mismo nombre, por lo que si se busca aquéllas cuyo nombre sea "seat" o "ibiza" se falsearán los resultados
y faltaría lo de rellenar el campo MARCA_codigo en la tabla COCHE, no has puesto nada? sino no hay relación coche/marca