2016-07-13 3 views
0

Ich habe zwei Tabellen nämlich: - TDM & AccountMaster. Beide haben drei gleiche Spalten und ich muss eine Tabelle erstellen, die alle Zeilen aus TDM-table abruft, die die drei Spalten verbinden, d. FD_BRANCH,FD_CUSTCODE & PRODUCTID.Erstellen Sie eine Tabelle von der vollständigen äußeren Join-Abfrage

während Tabelle in Klausel über ausgewählte Erstellen bekomme ich einen Fehler

Spaltennamen in jeder Tabelle muss eindeutig sein. Der Spaltenname 'FD_BRANCH' in der Tabelle 'acty' ist mehrfach angegeben.

finden Sie die folgende Abfrage aus dem ich eine Tabelle erstellen möchten, die als pro meine Anforderung: -

SELECT * FROM (SELECT FD_BRANCH,FD_CUSTCODE,PRODUCTID FROM TDM 
GROUP BY FD_BRANCH,FD_CUSTCODE,PRODUCTID) A full OUTER JOIN AccountMaster B 
ON(A.FD_BRANCH=B.FD_BRANCH AND A.FD_CUSTCODE=B.FD_CUSTCODE AND 
A.PRODUCTID=B.PRODUCTID) 
+1

Ich bin mir nicht sicher, ob ich verstehe, was Sie wollen. Wenn Sie möchten, dass Ihre Auswahl funktioniert, müssen die Spaltennamen eindeutig sein. Sie können dies tun, indem Sie ihnen einen Alias ​​geben. Sie sagen "Spaltenname 'FD_BRANCH' in Tabelle 'acty' wird mehr als einmal angegeben." Wo ist der Tisch "acty"? – HoneyBadger

+1

Hier ist ein großartiger Ort, um anzufangen. http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

Antwort

0
Ihre wählen Sie Ändern

nur die Felder, die Sie von einem der zwei Tabellen benötigen.

Select A.* 
FROM (

oder

Select B.FD_BRANCH, 
     B.FD_CUSTCODE, 
     B.PRODUCTID 
FROM (

vollständige äußere Verknüpfung kombiniert die 2 Sätze von Spalten aus beiden Abfragen, so dass Sie mit mindestens 6 Spalten enden. Obwohl sie aus verschiedenen Tabellen oder Aliasen stammen, sind die Spaltennamen identisch.

Verwandte Themen