gpt4 book ai didi

php - 如果 table2 在某些条件下包含相同的值,则从一个 table1 中删除行 mysql

转载 作者:行者123 更新时间:2023-11-29 02:12:40 25 4
gpt4 key购买 nike

我想进行查询,从 tbl_assign 中选择所有行,其中 tbl_unit_status 不包含某些值。

//tbl_assign

assign_id order_id order_no_first
---------------------------------------
1 1 C
2 2 C
3 10 C
4 11 C
5 17 C

//tbl_unit_status

status_id assign_id status_status
---------------------------------------
1 1 Cutter
2 1 QC Jithin
3 1 Rack
4 1 Delivery
5 2 Cutter
6 3 Rack
7 4 Cutter
8 5 Despatch

所需的输出是,

assign_id    order_id    order_no_first
---------------------------------------
2 2 C
4 11 C

我想从 tbl_assign 中删除行,其中 tbl_unit_status 包含值 Rack, Despatch, DeliveryQC%

我试过查询,

SELECT a.assign_id, a.order_id, a.order_no_first FROM tbl_assign a WHERE a.assign_id NOT IN (SELECT u.assign_id FROM tbl_unit_status u WHERE u.status_status NOT LIKE "QC%" OR u.status_status NOT IN ("Delivery", "Despatch", "Rack"))

以上代码没有返回所需的输出。有人请帮助我。

最佳答案

输出:

assign_id | order_id | order_no_first
----------|----------|--------------
2 | 2 | C
----------|----------|--------------
4 | 11 | C

代码:

SELECT a.assign_id,
a.order_id,
a.order_no_first
FROM tbl_assign a
WHERE a.assign_id NOT IN
(
SELECT u.assign_id
FROM tbl_unit_status u
WHERE u.status_status IN( 'Rack', 'Despatch', 'Delivery' )
OR u.status_status LIKE 'QC%'
);

试一试:http://sqlfiddle.com/#!9/71b6b0/1/0

总结:返回 tbl_assign 表中的所有行,其中它们的 assign_id 值与子选择返回的值不相关。

子选择返回 tbl_unit_status 表中行的所有 assign_id 值。他们的 status_status 以“QC”开头或等于“Rack”、“Delivery”或“Despatch”。

关于php - 如果 table2 在某些条件下包含相同的值,则从一个 table1 中删除行 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47589270/

25 4 0