gpt4 book ai didi

php - SQL - 如果存在 - 选择 A - 否则 - 选择 B

转载 作者:行者123 更新时间:2023-12-01 00:04:55 26 4
gpt4 key购买 nike

我在 php 脚本中调用 SQL。有时“DE”中没有值,如果是这种情况我想从“EN”中获取值

应该是这样的,但不是这样的

IF (EXISTS (SELECT epf_application_detail.description FROM epf_application_detail INNER JOIN app_uri ON epf_application_detail.application_id=app_uri.application_id WHERE app_uri.uri = '/ps-puzzle-daily-download-for-ipad-iphone-327103760.html' AND epf_application_detail.language_code = 'DE' LIMIT 1))
BEGIN
SELECT epf_application_detail.description FROM epf_application_detail INNER JOIN app_uri ON epf_application_detail.application_id=app_uri.application_id WHERE app_uri.uri = '/ps-puzzle-daily-download-for-ipad-iphone-327103760.html' AND epf_application_detail.language_code = 'DE' LIMIT 1
END
ELSE
BEGIN
SELECT epf_application_detail.description FROM epf_application_detail INNER JOIN app_uri ON epf_application_detail.application_id=app_uri.application_id WHERE app_uri.uri = '/ps-puzzle-daily-download-for-ipad-iphone-327103760.html' AND epf_application_detail.language_code = 'EN' LIMIT 1
END

我收到这个错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF (EXISTS (SELECT epf_application_detail.description FROM epf_application_detai' at line 1 

最佳答案

还有一种方法,

SELECT  d.description 
FROM epf_application_detail d
INNER JOIN app_uri a
ON d.application_id = a.application_id
WHERE a.uri = '/ps-puzzle-daily-download-for-ipad-iphone-327103760.html'
ORDER BY FIELD(d.language_code, 'EN', 'DE') DESC
LIMIT 1

如果有其他语言,你可以添加一个条件

SELECT ....
FROM ....
WHERE a.uri = '...' AND d.language_code IN ('EN', 'DE')
ORDER BY ...
LIMIT 1

关于php - SQL - 如果存在 - 选择 A - 否则 - 选择 B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17597234/

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