Mysql 数据库别名过滤器
Mysql database Alias Filter
SELECT *
, t.BG as TY
, IF (t.BG >= 15, 'Y', 'D') AS Toplam
FROM
( SELECT Uzmanadid AS Uzman_Ad
, Kurumid
, SUM(Bireysel)
, IF(Kurumid like '%L%',
IF(SUM(Bireysel) > 20, 200, 10)
, IF(SUM(Bireysel) > 90, 20, 15)
) AS BG
FROM Tbl_pss2
GROUP
BY Uzman_Ad) as t
我想过滤它,其中 Toplam = 'Y' 但我做不到。我试过这个:
SELECT *,t.BG as TY, IF (t.BG >= 15, 'Y', 'D') AS Toplam FROM (SELECT
Uzmanadid AS Uzman_Ad, Kurumid, SUM(Bireysel), IF(Kurumid like '%L%',
IF(SUM(Bireysel) > 20, 200, 10), IF(SUM(Bireysel) > 90, 20, 15)) AS BG
FROM Tbl_pss2 WHERE Toplam = 'Y' GROUP BY Uzman_Ad) as t
但是没有用。如果我尝试使用已经存在的列名(exp. Where Uzmanid = 'Alex')过滤它,它就可以工作。但是其他代码不起作用,因为它只是别名还不存在。
那么我该如何过滤这个
列 Toplam
的值为:
IF (t.BG >= 15, 'Y', 'D')
所以条件:
Toplam = 'Y'
是 TRUE
当:
t.BG >= 15
所以你可以这样过滤:
WHERE t.BG >= 15
SELECT *
, t.BG as TY
, IF (t.BG >= 15, 'Y', 'D') AS Toplam
FROM
( SELECT Uzmanadid AS Uzman_Ad
, Kurumid
, SUM(Bireysel)
, IF(Kurumid like '%L%',
IF(SUM(Bireysel) > 20, 200, 10)
, IF(SUM(Bireysel) > 90, 20, 15)
) AS BG
FROM Tbl_pss2
GROUP
BY Uzman_Ad) as t
我想过滤它,其中 Toplam = 'Y' 但我做不到。我试过这个:
SELECT *,t.BG as TY, IF (t.BG >= 15, 'Y', 'D') AS Toplam FROM (SELECT
Uzmanadid AS Uzman_Ad, Kurumid, SUM(Bireysel), IF(Kurumid like '%L%',
IF(SUM(Bireysel) > 20, 200, 10), IF(SUM(Bireysel) > 90, 20, 15)) AS BG
FROM Tbl_pss2 WHERE Toplam = 'Y' GROUP BY Uzman_Ad) as t
但是没有用。如果我尝试使用已经存在的列名(exp. Where Uzmanid = 'Alex')过滤它,它就可以工作。但是其他代码不起作用,因为它只是别名还不存在。
那么我该如何过滤这个
列 Toplam
的值为:
IF (t.BG >= 15, 'Y', 'D')
所以条件:
Toplam = 'Y'
是 TRUE
当:
t.BG >= 15
所以你可以这样过滤:
WHERE t.BG >= 15