gpt4 book ai didi

mysql - 使用反连接的 SQL 查询

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:59 25 4
gpt4 key购买 nike

我正在定义“匹配”以便稍后在某些 php 中使用,因此我在选择中定义了它。我似乎无法使此查询正常工作...我收到解析错误。有什么想法吗?

SELECT 
aif_id,
fee_source_id,
company_name_per_sedar,
document_filing_date,
NVL a_aif_remaining.aif_id, 0, 1 match
FROM a_aif, a_aif_remaining
LEFT JOIN a_aif_remaining ON a_aif_remaining.aif_id = a_aif.aif_id
ORDER BY aif_id DESC;

这也行不通:

SELECT 
aif_id,
fee_source_id,
company_name_per_sedar,
document_filing_date,
CASE IF a_aif_remaining.aif_id THEN 0 ELSE 1 match
FROM a_aif, a_aif_remaining
LEFT JOIN a_aif_remaining ON a_aif_remaining.aif_id = a_aif.aif_id
ORDER BY aif_id DESC;

最佳答案

您收到该错误的原因是 MATCH 是保留字。你应该用反引号转义它。这里是保留字列表

试试这个,它应该是CASE WHEN...

SELECT aif_id, 
fee_source_id,
company_name_per_sedar,
document_filing_date,
CASE
WHEN a_aif_remaining.aif_id IS NULL -- you should have condition on this line
THEN 0
ELSE 1
END `match`
FROM a_aif
LEFT JOIN a_aif_remaining
ON a_aif_remaining.aif_id = a_aif.aif_id
ORDER BY aif_id DESC;

如果该列的值为NULL,您可以简单地使用IF(最小化代码),例如

SELECT aif_id, 
fee_source_id,
company_name_per_sedar,
document_filing_date,
IF(a_aif_remaining.aif_id IS NULL, 0, 1) `match`
FROM a_aif
LEFT JOIN a_aif_remaining
ON a_aif_remaining.aif_id = a_aif.aif_id
ORDER BY aif_id DESC;

关于mysql - 使用反连接的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14117961/

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