मैं हैPostgreSQL: एक मेज <code>map_tags</code> बुलाया उप-चयन के अंदर डालने
map_id | map_license | map_desc
और एक और तालिका (widgets
) जिसका रिकॉर्ड एक map_tags
रिकॉर्ड करने के लिए एक विदेशी कुंजी संदर्भ (1 1 के लिए) शामिल हैं:
widget_id | map_id | widget_name
बाधा है कि सभी map_license
अद्वितीय हैं (हालांकि map_tags
पर कुंजी के रूप में स्थापित नहीं कर रहे हैं) को देखते हुए, तो अगर मैं एक map_license
और एक widget_name
, मैं एक डालने प्रदर्शन करने के लिए करना चाहते हैं widgets
सभी एक ही SQL विवरण के अंदर:
INSERT INTO
widgets w
(
map_id,
widget_name
)
VALUES (
(
SELECT
mt.map_id
FROM
map_tags mt
WHERE
// This should work and return a single record because map_license is unique
mt.map_license = '12345'
),
'Bupo'
)
मैं मैं सही रास्ते पर हूँ, लेकिन सही बल्ले है कि इस Postgres के लिए गलत एसक्यूएल है बंद जानते मानना है । क्या कोई ऐसी क्वेरी को प्राप्त करने का उचित तरीका जानता है?
यह PostgreSQL के साथ कभी नहीं किया है, लेकिन ऐसा लगता है 'INSERT INTO विजेट से map_tags कहां map_license = ', शून्य का चयन करें map_id,' Bupo '12345'' नहीं देखना चाहिए? – raina77ow
धन्यवाद @ raina77ow (+1) - मुझे यकीन नहीं है कि यह क्या होना चाहिए। '(...) मूल्यों (...) के सिलेक्स में 'चयन' कथन निश्चित रूप से मुझे बंद कर रहा है। क्या आप मुझे समझाएंगे कि यह कैसे काम करना चाहिए? एक बार फिर धन्यवाद! –
ठीक है, मैं बस इसे [this] (http://dev.mysql.com/doc/refman/5.1/en/insert-select.html) का उपयोग MySQL में करता हूं ... कारण, मुझे लगता है कि, आप डेटा के पूरे सेट को बनाना होगा जो डाला जाएगा - और VALUES ((SELECT smth), 'smth_else') बस ऐसा नहीं करता है।) – raina77ow