gpt4 book ai didi

php - MySQL 选择连接

转载 作者:行者123 更新时间:2023-11-29 22:42:06 25 4
gpt4 key购买 nike

我尝试使用 MySQL JOIN 从数据库中获取一些数据,但到目前为止尚未成功

我有table_a(代表订单行):

id  idc cPos
1 1 10
2 1 20
3 1 30
4 1 40
5 1 50
6 2 10
7 2 20
8 2 30
9 2 40
10 3 10
11 3 20
12 3 30
13 3 40
14 3 50

和表_b:

delivery_id idc cPos
1 1 10
1 1 50
2 1 20
2 3 40
2 3 50

我想要一个具有以下结果的查询:

id  idc cPos    delivery_id
1 1 10 1
3 1 30 NULL
4 1 40 NULL
5 1 50 1
6 2 10 NULL
7 2 20 NULL
8 2 30 NULL
9 2 40 NULL
10 3 10 NULL
11 3 20 NULL
12 3 30 NULL

我需要table_b中delivery_id等于1的所有记录以及table_a中在table_b中没有对应对象的所有记录(根据corespondent我理解table_a.idc = table_b.idc AND table_a.cPos = table_b.cPos)

我使用的查询:

SELECT table_a.*, table_b.delivery_id FROM table_a
LEFT JOIN table_b ON (table_a.idc = table_b.idc AND table_a.cPos = table_b.cPos)
WHERE (delivery_id IS NULL OR delivery_id = 1)

有人可以帮助我吗?

最佳答案

您必须创建具有 2 个条件的 LEFT JOIN:

SELECT tab_a.*,tab_b.delivery_id
FROM table_a tab_a
LEFT JOIN table_b tab_b ON tab_a.idc=tab_b.idc, tab_a.cPos=tab_b.cPos

关于php - MySQL 选择连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29299978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com