如何在同一个表中用不同的条件检索同一列两次? [英] How to retrieve same column twice with different conditions in same table?
本文介绍了如何在同一个表中用不同的条件检索同一列两次?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的表:
Anganbadi_ID Food Month
-------------------------------------------
1165 हाँ 1
1165 हाँ 2
1165 हाँ 4
1168 हाँ 4
2032 नहीं 4
2218 नहीं 4
2219 हाँ 4
2358 नहीं 4
2546 हाँ 10
有4列 Anganbadi_ID,Food,Month,Year
希望根据两个不同的月份值比较 Food
列两次。
there are 4 columns Anganbadi_ID, Food, Month, Year
and I want to compare Food
column twice based on two different month values.
例如如果我为第一个Food(Food-1)栏选择Month = 4,第二个Food(Food-2)栏选择Month = 10,则应该如下所示::
e.g. if I select Month=4 for first Food (Food-1) column and Month=10 for second Food (Food-2) column, then it should be like following::
Anganbadi_ID Food-1 Food-2
------------------------------------------
1165 हाँ NULL
1168 हाँ NULL
2032 नहीं NULL
2218 नहीं NULL
2219 हाँ NULL
2358 नहीं NULL
2546 NULL हाँ
当我尝试此代码
SELECT
Anganbadi_ID, Food,
(SELECT Food
FROM Anganbadi AS Anganbadi_2
WHERE (Anganbadi_1.Anganbadi_ID = Anganbadi_ID)
AND (Anganbadi_1.Month = 10)
) AS 'Food(2)'
FROM Anganbadi AS Anganbadi_1
WHERE (Month = 4)
它显示以下结果:
Anganbadi_ID Food-1 Food-2
--------------------------------------------
1165 हाँ NULL
1168 हाँ NULL
2032 नहीं NULL
2218 नहीं NULL
2219 हाँ NULL
2358 नहीं NULL
请尽快帮助我....
Please help me as soon as possible....
推荐答案
SELECT DISTINCT Anganbadi_ID,
(SELECT Food
FROM Anganbadi
WHERE (Anganbadi_ID = A.Anganbadi_ID)
AND (Month = 4)) AS Food1,
(SELECT Food
FROM Anganbadi
WHERE (Anganbadi_ID = A.Anganbadi_ID)
AND (Month = 10)) AS Food2
FROM Anganbadi AS A
WHERE A.Month = 10 OR A.Month = 4
这篇关于如何在同一个表中用不同的条件检索同一列两次?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文