मैंने ऐसे मामले में भाग लिया है जहां एक स्क्लाइट क्वेरी मैं एक त्रुटि वापस करने की उम्मीद कर रहा हूं वास्तव में सफल रहा है और मैं सोच रहा था कि कोई यह बता सकता है कि यह क्वेरी मान्य क्यों है ।यूनियन उन सभी प्रश्नों के साथ जिनके पास कॉलम की एक अलग संख्या है
CREATE TABLE test_table(
k INTEGER,
v INTEGER
);
INSERT INTO test_table(k, v) VALUES(4, 5);
SELECT * FROM(
SELECT * FROM(
SELECT k, v FROM test_table WHERE 1 = 0
)
UNION ALL
SELECT * FROM(
SELECT rowid, k, v FROM test_table
)
)
मुझे लगता है कि होता है कि दो चयन जो स्तंभों की एक अलग संख्या है unioning एक त्रुटि लौट आते हैं। अगर मैं बाहरी SELECT *
हटा देता हूं तो मुझे वह त्रुटि मिलती है जो मैं उम्मीद कर रहा हूं: SELECTs to the left and right of UNION ALL do not have the same number of result columns
।
SQLite में एक मोड़ की तरह लग रहा है! – Andomar
अजीब - और यह क्या लौटता है? गायब कॉलम के लिए एनयूएलएस? –
ओह मैंने डेमो की जांच की और यह कॉलम को छोड़ देता है। –