Как получить два других значения из таблицы Produto_precos с запросом внутреннего соединения и предложением где like

Попробуйте что-то вроде этого ...

UPDATE table_name set montant_dernier_paiement = 25.78 WHERE n_paiement = 1

UPDATE table_name set montant_dernier_paiement = 13.81 WHERE n_paiement = 2
0
задан nocarrier 20 January 2019 в 01:55
поделиться

2 ответа

Я думаю, что вы можете делать то, что вы хотите с условной агрегацией:

select p.id, p.description, p.pages, p.title,
       max(case when pp.type = 0 then pp.value end) as ebook_price,
       max(case when pp.type = 1 then pp.value end) as impress_price,
       max(case when pp.type = 2 then pp.value end) as combo_price
from Produto p inner join
     Product_prices pp
     on p.id = pp.Product_id
where lower(p.title) like '%1%' 
group by p.id, p.description, p.pages, p.title;
0
ответ дан Gordon Linoff 20 January 2019 в 01:55
поделиться

Напомните, какую часть проблемы не решает следующая проблема ...

DROP TABLE IF EXISTS product;

CREATE TABLE product
(id SERIAL PRIMARY KEY
,title VARCHAR(30) NOT NULL
,pages INT NOT NULL
);

INSERT INTO product VALUES
(1,'Harry Potter',230),
(2,'Lord of the Rings',950),
(3,'Game of Thrones',980);

DROP TABLE IF EXISTS prices;

CREATE TABLE prices
(product_id INT NOT NULL
,book_type INT NOT NULL
,price DECIMAL(5,2) NOT NULL
,PRIMARY KEY(product_id,book_type)
);

INSERT INTO prices VALUES
(1,0,20.40),
(1,1,28.00),
(1,2,40.00),
(2,0,15.00),
(2,1,25.50),
(2,2,42.00),
(3,0,21.00),
(3,1,30.50),
(3,2,47.00);

SELECT c.*
     , a.*
  FROM prices a
  JOIN prices b
    ON b.product_id = a.product_id
  JOIN product c
    ON c.id = b.product_id
 WHERE b.price LIKE '%1%';
+----+-------------------+-------+------------+-----------+-------+
| id | title             | pages | product_id | book_type | price |
+----+-------------------+-------+------------+-----------+-------+
|  2 | Lord of the Rings |   950 |          2 |         0 | 15.00 |
|  2 | Lord of the Rings |   950 |          2 |         1 | 25.50 |
|  2 | Lord of the Rings |   950 |          2 |         2 | 42.00 |
|  3 | Game of Thrones   |   980 |          3 |         0 | 21.00 |
|  3 | Game of Thrones   |   980 |          3 |         1 | 30.50 |
|  3 | Game of Thrones   |   980 |          3 |         2 | 47.00 |
+----+-------------------+-------+------------+-----------+-------+
0
ответ дан Strawberry 20 January 2019 в 01:55
поделиться
Другие вопросы по тегам:

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