Autor | Zpráva | ||
---|---|---|---|
matak Profil |
#1 · Zasláno: 14. 3. 2009, 14:13:46
Řeší se to na hodně diskusích, ale nikde jsem nenašel rozumnou odpověď:
INSERT INTO table (id1,id2,id3) VALUES(1,2, (SELECT TOP 1 id FROM test WHERE id=3)) chyba: Subqueries are not allowed in this context. Only scalar expressions are allowed. nevíte někdo kudy do toho? |
||
Taps Profil |
#2 · Zasláno: 14. 3. 2009, 17:30:27
matak
popiš konkrétně co potřebuješ. Podle té chyby zkoušíš něco co není povoleno |
||
TomášK Profil |
#3 · Zasláno: 14. 3. 2009, 22:15:03
Nefunguje
INSERT INTO table(id1, id2, id3) SELECT TOP 1 1, 2, id FROM test WHERE id=3 |
||
matak Profil |
#4 · Zasláno: 15. 3. 2009, 00:53:14
tohle pravděpodobně fungovat bude,
jde ale o to když je potřeba vkládat dvě různé hodnoty z odlišných selectů INSERT INTO table (id1,id2,id3) VALUES(1,2, (SELECT TOP 1 id FROM test WHERE id=3), (SELECT TOP 1 id FROM test WHERE id=4)) tohle už nezapíšu stejně jak to navrhuješ zatím jsem to vyřešil uživatelskou proměnnou, což v některých případech není vhodné, protože jsou to dva dotazy, ale jinak to funguje |
||
Kajman_ Profil * |
#5 · Zasláno: 17. 3. 2009, 09:52:17
Ale v insert select už poddotaz projde, ne?
INSERT INTO table(id1, id2, id3, id4) SELECT TOP 1 1, 2, id, (SELECT TOP 1 id FROM test WHERE id=4) FROM test WHERE id=3 |
||
matak Profil |
#6 · Zasláno: 17. 3. 2009, 09:55:18
pravda, nevím proč mne to nenapadlo, dík
|
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0