मेरे पास एक तालिका "queued_items" है। वर्तमान "user_id" और "item_id" गलत हैं, लेकिन अन्य तालिकाओं में संग्रहीत हैं: users.imported_id और items.imported_idत्रुटि: त्रुटि: तालिका का नाम एक से अधिक बार
अन्य टेबल और आयात से imported_id को पकड़ने का प्रयास कर रहे हैं।
Error : ERROR: table name "queued_items" specified more than once
की कोशिश की लाइन से हटाने, यह त्रुटि आई:
Error : ERROR: syntax error at or near "INNER"
LINE 4: INNER JOIN users ON queued_items.user_id = users.imported_id
^
मैं भी से करने के लिए एक अन्य नाम जोड़ने और शामिल हों कोशिश की यहाँ मैं क्या करने की कोशिश की
UPDATE queued_items
SET queued_items.user_id = users.id,
queued_items.item_id = items.id
FROM queued_items
INNER JOIN users ON queued_items.user_id = users.imported_id
INNER JOIN items ON queued_items.item_id = items.imported_id
इस त्रुटि हो रही है परिस्थितियों
UPDATE queued_items
SET queued_items.user_id = users.id,
queued_items.item_id = items.id
FROM queued_items as qi
INNER JOIN users ON qi.user_id = users.imported_id
INNER JOIN items ON qi.item_id = items.imported_id
को यह त्रुटि मिली:
Error : ERROR: column "queued_items" of relation "queued_items" does not exist
LINE 2: SET queued_items.user_id = users.id,
^
कोई विचार? (Postgres 9)
पुनश्च इस उप क्वेरी से बचने की कोशिश:
UPDATE queued_items
SET user_id = (SELECT id FROM users WHERE queued_items.user_id = users.imported_id),
item_id = (SELECT id FROM items WHERE queued_items.item_id = items.imported_id)
... क्योंकि यह पागल धीमी
क्या आपने 'FROM' खंड और जुड़ने की स्थितियों में' queued_items' के लिए उपनाम का उपयोग करने का प्रयास किया है? –
बस कोशिश की। मैं परिणामों के साथ अपनी पोस्ट अपडेट कर दूंगा। – jmccartie
'SET' खंड के दोनों हिस्सों से 'queued_items.' निकालें, यह उम्मीद है कि बाएं किनारे हमेशा आपके द्वारा अपडेट की जा रही तालिका से कॉलम के लिए संदर्भित हों। –