我有3個表被以下::如何與同桌
村
Village_ID Village_Name 446261 परसठ्ठी 446262 बम्हनी 446263 लाफिनखुर्द 446264 सोरम 446265 सिधीं
Anganbadi_Master
Anganbadi_ID Anganbadi_Name Village_ID
1307 चिंगरौद 446260
1308 चिगरौद-2 446260
1309 बम्हनी-1 446262
1310 बम्हनी-2 446262
1311 बम्हनी-3 446262
1312 लाफिनखुर्द-1 446263
1313 लाफिनखुर्द-2 446263
其它列的值不同檢索同一列兩次
Anganbadi
Anganbadi_ID Food Month Year
1179 हाँ 5 2013
1309 हाँ 1 2013
1309 नहीं 1 2014
1309 हाँ 2 2013
1310 हाँ 1 2013
1310 हाँ 2 2013
1310 हाँ 3 2013
1311 नहीं 3 2013
2032 हाँ 3 2013
現在我想在兩個不同的年,在同一個月的不同年份必須僅出現一次,如基礎兩次retreive食品列如下::
Anganbadi_ID Month food(2013) food(2014)
1309 1 हाँ नहीं
1309 2 हाँ NULL
1310 1 हाँ NULL
1310 2 हाँ NULL
1310 3 हाँ NULL
1311 3 नहीं NULL
但是,當我米試圖驗證碼
SELECT DISTINCT Anganbadi.Anganbadi_ID
, Anganbadi.Month
, Anganbadi.Food AS food2013
, NULL AS Food2014
FROM Anganbadi
INNER JOIN Anganbadi_Master ON Anganbadi.Anganbadi_ID = Anganbadi_Master.Anganbadi_ID
INNER JOIN Village ON Anganbadi_Master.Village_ID = Village.Village_ID
WHERE (Anganbadi.Year = 2013)
AND (Anganbadi_Master.Village_ID = 446262)
UNION ALL
SELECT Anganbadi_1.Anganbadi_ID
, Anganbadi_1.Month
, NULL AS food2013
, Anganbadi_1.Food AS Food2014
FROM Anganbadi AS Anganbadi_1
INNER JOIN Anganbadi_Master AS Anganbadi_Master_1 ON Anganbadi_1.Anganbadi_ID =
Anganbadi_Master_1.Anganbadi_ID
INNER JOIN Village AS Village_1 ON Anganbadi_Master_1.Village_ID =
Village_1.Village_ID
WHERE (Anganbadi_1.Year = 2014)
AND (Anganbadi_Master_1.Village_ID = 446262)
它顯示結果如下::
Anganbadi_ID Month food(2013) food(2014) 1309 1 हाँ NULL 1309 2 हाँ NULL 1310 1 हाँ NULL 1310 2 हाँ NULL 1310 3 हाँ NULL 1311 3 नहीं NULL 1309 1 NULL नहीं
這裏Anganbadi_ID 1309表示同月(1)年(2013年和2014年)
問題已經在你的最後一個問題上得到解答http://stackoverflow.com/questions/16423883/how-to-retrieve-same-column-twice-with-different-conditions-in-same -table – bummi 2013-05-09 08:05:23
Sahu,你已經評論說它對於其中一個答案工作正常。那麼,爲什麼要再次提出這個問題?在這種情況下,您可以在任何情況下使用本產品。 तो,क्योंफिरसवालकेद? – Raj 2013-05-09 08:16:34
@Raj,在前面的問題中,記錄只能找到月份的基礎,但現在我想根據包含相同月份的年份找到記錄。 此外,在上一個問題的查詢中,我將Year替換爲Month,但出現錯誤,即「子查詢返回的值超過1個值,當子查詢遵循=,!=,<,<=,>,> =或子查詢被使用時作爲表達。「 – 2013-05-09 09:06:39