gpt4 book ai didi

mysql - SQL 连接 : Select rows with no match in second table

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

我试图连接两个表,同时仍然从表 A 中获取结果,即使表 B 中没有匹配的记录。我认为 where 子句导致了问题,但我似乎无法修复它。

SELECT a.id, a.title, a.validation, b.data 
FROM client_option_detail AS a LEFT OUTER JOIN client_data AS b
ON a.id = b.client_option_detail_id
WHERE a.client_option_id = ?
AND (b.client_id IS NULL OR b.client_id = ?)

更新:数据库布局

client_option       client_option_detail 
------------- -------------------
id id
title
validation
client_option_id


client client_data
------- ------------
id client_id
client_option_detail_id
data

数据库示例:

client_option       client_option_detail 
------------- -------------------------------------------
id id | title | validation | client_option_id
------------- -------------------------------------------
1 1 | test1 | | 1
2 2 | test2 | | 1
3 | test3 | | 1
4 | test4 | | 2


client client_data (primary key - client_id + client_option_detail_id)
-------- -------------------------------------------
id client_id | client_option_detail_id | data
-------- -------------------------------------------
1 1 | 1 | data1
2 1 | 2 | data2
1 | 4 | data3
2 | 3 | data4
2 | 1 | data5

示例查询:

SELECT a.id, a.title, a.validation, b.data 
FROM client_option_detail AS a LEFT OUTER JOIN client_data AS b
ON a.id = b.client_option_detail_id
WHERE a.client_option_id = 1
AND (b.client_id IS NULL OR b.client_id = 1)

所需输出:

    ------------------------------------------- 
id | title | validation | data
-------------------------------------------
1 | test1 | | data1
2 | test2 | | data2
3 | test3 | |

最佳答案

SELECT client_option_detail.id, title, validation, data 
FROM client_option_detail LEFT OUTER JOIN client_data
ON client_option_detail.id = client_data.client_option_detail_id

应该没问题。我认为是你的条件有问题。
例如:client_option_detail.client_option_id = ?,?它包含 client_option_detail 中的所有 id 吗?

关于mysql - SQL 连接 : Select rows with no match in second table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35400199/

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