Как делать Query трех подмостков с чужеземными различными ключами? SQL

Было нужно select с Join, что я как оказанный таблица, чтобы он соединил:

Id_clien, nombre_clien, sum (precio_venta)

ejm результат: 1520, andres, 234234

Где Id_clien и nombre_clien их берет из таблицы клиент, sum (precio_venta) - сумма всех они "precio_venta" связанные с этим Id_cliente в инвентаре, который присоединяется косвенно посредством таблицы factura_venta.

Это таблицы, которые нужно использовать:

CREATE TABLE cliente (
id_clien NUMBER(6), 
nombre_clien VARCHAR2(20) NOT NULL, 
apellido_clien VARCHAR2(20) NOT NULL, 
direccion_clien VARCHAR2(50) NOT NULL, 
telefono_clien NUMBER(10,0) NOT NULL, 
correo_clien VARCHAR(50) NOT NULL, 
CONSTRAINT cliente_idclien_pk PRIMARY KEY(id_clien));
CREATE TABLE factura_venta (
id_venta NUMBER(5),
fecha_venta DATE NOT NULL, 
id_clien NUMBER(6) NOT NULL, 
id_emp NUMBER(2) NOT NULL, 
CONSTRAINT factura_venta_idventa_pk PRIMARY KEY(id_venta), 
CONSTRAINT factura_venta_idclien_fk FOREIGN KEY (id_clien) REFERENCES cliente (id_clien), 
CONSTRAINT factura_venta_idemp_fk FOREIGN KEY (id_emp) REFERENCES empleado (id_emp));
CREATE TABLE detalle_venta (
id_detallev NUMBER(5),
id_venta NUMBER(5) NOT NULL,
id_inv NUMBER(5) NOT NULL,
CONSTRAINT detalle_venta_idinv_uk UNIQUE (id_inv),
CONSTRAINT detalle_venta_iddetallev_pk PRIMARY KEY(id_detallev),
CONSTRAINT detalle_venta_idventa_fk FOREIGN KEY (id_venta) REFERENCES factura_venta (id_venta), 
CONSTRAINT detalle_venta_idinv_fk FOREIGN KEY (id_inv) REFERENCES inventario (id_inv));

CREATE TABLE inventario (
id_inv NUMBER(5), 
precio_venta NUMBER(6) NOT NULL, 
precio_compra NUMBER(6) NOT NULL,
id_detallec NUMBER(5) NOT NULL, 
id_color NUMBER(2) NOT NULL, 
id_talla NUMBER(2) NOT NULL, 
id_est NUMBER(1) NOT NULL, 
id_prod NUMBER(5) NOT NULL,
CONSTRAINT inventario_iddetallec_uk UNIQUE (id_detallec),
CONSTRAINT inventario_idinv_pk PRIMARY KEY(id_inv), 
CONSTRAINT inventario_iddetallec_fk FOREIGN KEY (id_detallec) REFERENCES detalle_compra (id_detallec), 
CONSTRAINT inventario_idcolor_fk FOREIGN KEY (id_color) REFERENCES color (id_color),
CONSTRAINT inventario_idtalla_fk FOREIGN KEY (id_talla) REFERENCES talla (id_talla), 
CONSTRAINT inventario_idest_fk FOREIGN KEY (id_est) REFERENCES estado (id_est), 
CONSTRAINT inventario_idprod_fk FOREIGN KEY (id_prod) REFERENCES producto (id_prod));

Добавление MER introducir la descripción de la imagen aquí

0
задан 28.03.2019, 09:22
1 ответ

Консультация, что estÃ: s ища он:

SELECT id_clien,SUM(precio_venta)
  FROM cliente JOIN factura_venta USING(id_clien)
  JOIN detalle_venta USING(id_venta)
  JOIN inventario USING(id_inv)
  GROUP BY 1;

Ввиду того, что ты - новый сотрудник, ты должен иметь в виду то, что они сказали тебе в комментариях:

  • ты Должен пробовать делать что-то tú сам, это лучший способ изучать. Верно, что смотря c¦mo мы делаем это demÃ: s он изучается, но много mÃ: s медленно.

  • был хорошо, что ты перемещал нас данные о примере, чтобы подтверждать, что у нас выходят те же результаты, что и в тебя:

ejm результат: 1520, andres, 234234

  • В этикетках ты должен подробно описывать систему администратора базы данных, которого ты используешь, я предположил MySQL, но, из-за типов данных, которых ты используешь, страховки, что говорится о другом. Гениальные

  • , из-за того, что вносить структуру в SQL таранных костей, s¦lo, что ты не дал их нам в команде, и, имели определенных FK подмостков, которые ты не переместил нас, было нужно ретушировать c¦digo, чтобы мочь тестировать это. Тебя присоединил c¦mo deber¦-эксперт habérnoslas прошлый (если они помещаются в ширине экрана, лучше): Желанные

CREATE TABLE cliente (
  id_clien int, 
  nombre_clien VARCHAR(20) NOT NULL, 
  apellido_clien VARCHAR(20) NOT NULL, 
  direccion_clien VARCHAR(50) NOT NULL, 
  telefono_clien varchar(10) NOT NULL, 
  correo_clien VARCHAR(50) NOT NULL, 
  CONSTRAINT cliente_idclien_pk PRIMARY KEY(id_clien)
  );

CREATE TABLE factura_venta (
  id_venta int,
  fecha_venta DATE NOT NULL, 
  id_clien int NOT NULL, 
  id_emp int NOT NULL, 
  CONSTRAINT factura_venta_idventa_pk
    PRIMARY KEY(id_venta), 
  CONSTRAINT factura_venta_idclien_fk
    FOREIGN KEY (id_clien) REFERENCES cliente (id_clien) 
  );

CREATE TABLE inventario (
  id_inv int(5), 
  precio_venta int(6) NOT NULL, 
  precio_compra int(6) NOT NULL,
  id_detallec int(5) NOT NULL, 
  id_color int(2) NOT NULL, 
  id_talla int(2) NOT NULL, 
  id_est int(1) NOT NULL, 
  id_prod int(5) NOT NULL,
  CONSTRAINT inventario_iddetallec_uk
    UNIQUE (id_detallec),
  CONSTRAINT inventario_idinv_pk
    PRIMARY KEY(id_inv));

CREATE TABLE detalle_venta (
  id_detallev int,
  id_venta int NOT NULL,
  id_inv int NOT NULL,
  CONSTRAINT detalle_venta_idinv_uk UNIQUE (id_inv),
  CONSTRAINT detalle_venta_iddetallev_pk
    PRIMARY KEY(id_detallev),
  CONSTRAINT detalle_venta_idventa_fk
    FOREIGN KEY (id_venta) REFERENCES factura_venta (id_venta),
    CONSTRAINT detalle_venta_idinv_fk
    FOREIGN KEY (id_inv) REFERENCES inventario (id_inv)
  );

и я жду, что мы env¦ - много mÃ: s ты сомневаешься.

0
ответ дан 19.11.2019, 21:19

Теги

Похожие вопросы