比较 2 个表的记录 SQL
Compare records of 2 tables with SQL
我有 2 个 table 结构如下:
1 项 Table
create table if not exists items
(
id bigserial not null primary key,
group_id integer not null,
description text not null,
quantity double precision not null,
measurement_id integer not null,
model varchar(255),
unitary double precision not null,
price double precision not null,
currency_id integer not null
);
1 名员工 Table
create table if not exists hireds
(
id bigserial not null primary key,
item_id integer not null constraint hireds_item_id_foreign references items on delete cascade,
quantity double precision not null,
price double precision not null
);
我想在第二个 table 中获取所有数量超过第一个中已定义数量的项目 .. 例如 ..
Table 1
id | name | quantity
---------------------
1 | Item 1 | 10
2 | Item 2 | 20
3 | Item 3 | 30
4 | Item 4 | 15
5 | Item 5 | 30
Table 2
id | item_id| quantity
---------------------
1 | 1 | 15
2 | 2 | 25
3 | 3 | 35
4 | 4 | 10
5 | 5 | 29
我需要一个 returns 与 table 类似的查询:
id | item_id| quantity
---------------------
1 | 1 | 5
2 | 2 | 5
3 | 3 | 5
一个简单的JOIN
就可以了:
select
i.id,
h.item_id,
h.quantity - u.quantity as quantity
from items i
join hireds h on h.item_id = i.id
where i.quantity < h.quantity
order by i.id
我有 2 个 table 结构如下:
1 项 Table
create table if not exists items
(
id bigserial not null primary key,
group_id integer not null,
description text not null,
quantity double precision not null,
measurement_id integer not null,
model varchar(255),
unitary double precision not null,
price double precision not null,
currency_id integer not null
);
1 名员工 Table
create table if not exists hireds
(
id bigserial not null primary key,
item_id integer not null constraint hireds_item_id_foreign references items on delete cascade,
quantity double precision not null,
price double precision not null
);
我想在第二个 table 中获取所有数量超过第一个中已定义数量的项目 .. 例如 ..
Table 1
id | name | quantity
---------------------
1 | Item 1 | 10
2 | Item 2 | 20
3 | Item 3 | 30
4 | Item 4 | 15
5 | Item 5 | 30
Table 2
id | item_id| quantity
---------------------
1 | 1 | 15
2 | 2 | 25
3 | 3 | 35
4 | 4 | 10
5 | 5 | 29
我需要一个 returns 与 table 类似的查询:
id | item_id| quantity
---------------------
1 | 1 | 5
2 | 2 | 5
3 | 3 | 5
一个简单的JOIN
就可以了:
select
i.id,
h.item_id,
h.quantity - u.quantity as quantity
from items i
join hireds h on h.item_id = i.id
where i.quantity < h.quantity
order by i.id