Ho bisogno di trovare un modo per fare un INSERT INTO table A
ma uno dei valori è qualcosa che proviene da una ricerca sulla tabella B, permettetemi di illustrare.Come inserire un valore basato sulla ricerca da un'altra tabella?
Ho le seguenti 2 tabelle:
Tabella A:
A1: String
A2: Integer value coming from table B
A3: More Data
Tabella B:
B1: String
B2: Integer Value
Esempio riga di A: { "Qualità", 101 , MoreData} Esempio di riga di B: {"inglese", 101}
Ora, so che ho bisogno di INSERIRE quanto segue in A {"Value2", "English", MoreData} ma ovviamente non funzionerà perché si aspetta un intero nella seconda colonna non la parola "inglese", quindi devo prima fare una ricerca nella Tabella B.
Qualcosa di simile a questo:
INSERT INTO tableA (A1, A2, A3)
VALUES ("Value2", SELECT B2 FROM tableB where B1="English", MoreData);
Ovviamente questo non funziona così com'è ...
Qualche suggerimento?
non sembra funzionare ... si lamenta di sintassi in prossimità SELEZIONARE. Se questo è l'approccio standard, allora devo avere un refuso da qualche parte (esaminandolo ora). Ma, un mio amico mi ha appena detto quanto segue "In una clausola VALUES, puoi solo specificare variabili o costanti". Presumo che abbia torto (deve esserci un modo) – Shaitan00
Forse è la parentesi attorno alla parte "seleziona ..."? Soprattutto in SQL Server non sono necessari lì e forse anche illegali. Non so su altri prodotti server, però. –