如何编辑MySQL请求的最大用例输出?

时间:2018-09-21 09:15:55

标签: mysql

当我运行以下查询时。

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id = "book" class = "com.Rawal.Srishti.SDI.Book" >
        <constructor-arg index="0" ref="Srishti" />
        <constructor-arg index="1" ref="Rawal"/>
    </bean>

</beans>

出现以下结果。但我只希望类型出现在 epostapro 中。

SELECT tblhostingaddons.id as id, 
MAX(CASE WHEN (tblcustomfields.fieldname = 'boyut') THEN tblcustomfields.fieldoptions ELSE NULL END) AS quota,
MAX(CASE WHEN (tblcustomfields.fieldname = 'adet') THEN tblcustomfields.fieldoptions ELSE NULL END) AS pc,
MAX(CASE WHEN (tblcustomfields.fieldname = 'gonderimlimiti') THEN tblcustomfields.fieldoptions ELSE NULL END) AS send,
MAX(CASE WHEN (tblcustomfields.fieldname = 'turu') THEN tblcustomfields.fieldoptions ELSE NULL END) AS type 
FROM `tblhostingaddons` 
LEFT JOIN tbladdons ON tbladdons.id = tblhostingaddons.addonid 
LEFT JOIN tblcustomfields ON tblcustomfields.relid = tbladdons.id 
WHERE tblhostingaddons.hostingid = '88'
AND tblhostingaddons.status = 'Active' 
GROUP BY tblhostingaddons.id 
ORDER BY tblhostingaddons.id

1 个答案:

答案 0 :(得分:1)

尝试使用Have子句:

SELECT tblhostingaddons.id as id, 
MAX(CASE WHEN (tblcustomfields.fieldname = 'boyut') THEN tblcustomfields.fieldoptions ELSE NULL END) AS boyut,
MAX(CASE WHEN (tblcustomfields.fieldname = 'adet') THEN tblcustomfields.fieldoptions ELSE NULL END) AS adet,
MAX(CASE WHEN (tblcustomfields.fieldname = 'gonderimlimiti') THEN tblcustomfields.fieldoptions ELSE NULL END) AS gonderimlimiti,
MAX(CASE WHEN (tblcustomfields.fieldname = 'turu') THEN tblcustomfields.fieldoptions ELSE NULL END) AS turu 
FROM `tblhostingaddons` 
LEFT JOIN tbladdons ON tbladdons.id = tblhostingaddons.addonid 
LEFT JOIN tblcustomfields ON tblcustomfields.relid = tbladdons.id 
WHERE tblhostingaddons.hostingid = '88'
AND tblhostingaddons.status = 'Active' 
GROUP BY tblhostingaddons.id 
having MAX(CASE WHEN (tblcustomfields.fieldname = 'turu') THEN tblcustomfields.fieldoptions ELSE NULL END)='epostapro'
ORDER BY tblhostingaddons.id

或者您可以从选择列表中删除ID并按分组 如下所示:

SELECT  
MAX(CASE WHEN (tblcustomfields.fieldname = 'boyut') THEN tblcustomfields.fieldoptions ELSE NULL END) AS boyut,
MAX(CASE WHEN (tblcustomfields.fieldname = 'adet') THEN tblcustomfields.fieldoptions ELSE NULL END) AS adet,
MAX(CASE WHEN (tblcustomfields.fieldname = 'gonderimlimiti') THEN tblcustomfields.fieldoptions ELSE NULL END) AS gonderimlimiti,
MAX(CASE WHEN (tblcustomfields.fieldname = 'turu') THEN tblcustomfields.fieldoptions ELSE NULL END) AS turu 
FROM `tblhostingaddons` 
LEFT JOIN tbladdons ON tbladdons.id = tblhostingaddons.addonid 
LEFT JOIN tblcustomfields ON tblcustomfields.relid = tbladdons.id 
WHERE tblhostingaddons.hostingid = '88'
AND tblhostingaddons.status = 'Active'