2017-05-12 6 views
0

derzeit Meine Tabelle wie dieseHinzufügen Spalte SQL wählen

Table1

sieht Gibt es eine Möglichkeit, dass ich eine Select-Anweisung erstellen können, die die Tabelle wie folgt setzt, ohne die ursprüngliche Tabelle zu ändern?

Table2

Ich habe derzeit SELECT ID, Wort FROM Tabelle WHERE Lang = 1 OR Lang = 2

+0

Bitte keine Links zu Bildern posten. Bearbeiten Sie die Frage und geben Sie Beispieldaten als Text ein. Danke – OldProgrammer

+1

Ja. . . mit 'Join',' Pivot' oder bedingter Aggregation. Was hast du probiert? –

+0

Bitte lesen Sie http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557 und die angenommene Antwort –

Antwort

0

ich die temporäre Tabelle erstellt, um Ihre Tabelle auf Basis und @ImranRashid Abfrage unter

create table #Language 
(
Id Int, 
Lang Int, 
word NVARCHAR(100) 
) 

Insert INTO #Language 
VALUES(1,1,'Hello'); 
Insert INTO #Language 
VALUES(1,2,'Bonjour'); 
Insert INTO #Language 
VALUES(2,1,'Thank you'); 
Insert INTO #Language 
VALUES(2,2,'Merci'); 

nun unter Abfrage selbst verstärkt laufen beitreten, aber stellen Sie sicher, lang id ausgewählt anders

SELECT 
g1.ID, g1.word as English, g2.word as French 
FROM 
#Language g1, #Language g2 
WHERE 
g1.ID = g2.Id AND g1.Lang = 1 AND g2.Lang=2; 

ID Englisch Französisch


1 Hallo Bonjour

2 Danke Merci

Nun ist diese unter Einsatz Abfrage ausführen mit einem anderen Wort zu testen

Insert INTO #Language 
VALUES(3,1,'Hi'); 
Insert INTO #Language 
VALUES(3,2,'Salut'); 

Run obige Abfrage wieder Ergebnis unter

ID Englisch Französisch


1 Hallo Bonjour 2 Danke Merci 3 Hallo Salut

1

Ja, das ist ein klarer Fall von Selbst verbinden. Ich nehme an, dass Ihr Tabellenname "Grüße" ist. Sie können es wie folgt tun:

SELECT 
g1.ID, g1.word as English, g2.word as French 
FROM 
greetings g1, greetings g2 
WHERE 
g1.ID = g2.Lang; 
+0

Dies wird abholen nur, wenn die Tabelle nur zwei Worte hat –

+0

Soetwas SELECT g1.ID, g1.word wie Englisch, Französisch g2.word als VON #language g1, g2 #language WHERE g1. ID = g2.Id UND g1.Lang = 1 UND g2.Lang = 2; –

Verwandte Themen