पोस्टग्रेएसक्यूएल (7.4 और 8.x) चल रहा है और मैंने सोचा कि यह काम कर रहा था लेकिन अब मुझे त्रुटियां मिल रही हैं।यूनियन के साथ केस के साथ एसक्यूएल ऑर्डर सभी
मैं अलग-अलग प्रश्नों को चला सकता हूं और यह ठीक काम करता है, लेकिन यदि मैं यूनियन या यूनियन सब कुछ एक त्रुटि फेंकता है।
यह त्रुटियों आउट: (चेतावनी: pg_query(): क्वेरी विफल रहा है: त्रुटि: स्तंभ "फ़ील्ड 1" मौजूद नहीं है ... आदेश मामला "फ़ील्ड 1" डब्ल्यू द्वारा ...)
SELECT "Field1" AS field_1, "Field2" AS field_2,
"Field3" AS field_3, "Field4" AS field_4
FROM "TableName"
WHERE condition
AND other_condition
UNION ALL
SELECT "Field1" AS field_1, "Field2" AS field_2,
"Field3" AS field_3, "Field4" AS field_4
FROM "TableName"
WHERE yet_another_condition
AND yet_another_other_condition
ORDER BY CASE "Field1"
WHEN 'A' THEN 1
WHEN 'B' THEN 2
WHEN 'C' THEN 3
ELSE 4
END
यह काम करता है :
SELECT "Field1" AS field_1, "Field2" AS field_2,
"Field3" AS field_3, "Field4" AS field_4
FROM "TableName"
WHERE yet_another_condition
AND yet_another_other_condition
ORDER BY CASE "Field1"
WHEN 'A' THEN 1
WHEN 'B' THEN 2
WHEN 'C' THEN 3
ELSE 4
END
और यह रूप में अच्छी तरह से काम करता है:
SELECT "Field1" AS field_1, "Field2" AS field_2,
"Field3" AS field_3, "Field4" AS field_4
FROM "TableName"
WHERE condition
AND other_condition
ORDER BY CASE "Field1"
WHEN 'A' THEN 1
WHEN 'B' THEN 2
WHEN 'C' THEN 3
ELSE 4
END
और अगर मैं आदेश द्वारा बंद छोड़ने के लिए और बस सभी यह यूनिअन या संघ का उपयोग साथ ही काम करता है।
कोई विचार?
काम नहीं करेगा क्योंकि '" फील्ड 1 "' कॉलम नाम नहीं है। – Benoit
खेद नहीं हुआ, एक ही त्रुटि –
हां, उसने देखा। उत्तर संशोधित .... – CristiC