我需要用外行的语言来还击。
SELECT
t1.*
, IF(isBranch='true','',IF(pointsweightage IS NULL,'Not Set',pointsweightage)) AS w
, t2.id AS wid
FROM
`skills_hierarchy` t1 LEFT JOIN
weightage t2 ON t1.pointsweightage=t2.weightage
WHERE
isBranch='false'
AND t1.deptid=$deptid
AND t2.deptid=$deptid
我希望更改查询,以便它能获取登录部门的数据。
最佳答案
好吧,我会重新格式化这个来帮助你,然后我会在下面解释。
SELECT
t1.*,
IF(isBranch='true',
'',
IF(pointsweightage IS NULL,
'Not Set',
pointsweightage)) AS w,
t2.id AS wid
FROM `skills_hierarchy` t1
LEFT JOIN weightage t2
ON t1.pointsweightage=t2.weightage
WHERE isBranch='false'
AND t1.deptid=$deptid
AND t2.deptid=$deptid
“Select”部分从“skills_hierarchy”表中获取所有值,然后是名为“w”的列的值。这个值将是三件事之一。
如果isBranch等于true,则为空值
如果pointsweightage为空,则为值“Not Set”
如果1和2不适用,则pointsweightage的值
查询已根据$deptid的参数值筛选出结果
关于mysql - 谁能向我解释此查询的作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2240013/