4 Stimmen

SQL verwendet eine verschachtelte Abfrage in der Mitte eines INNER JOIN.

Ist es möglich, ein Select in der Mitte einer Join-Abfrage zu verwenden...

Ich versuche Folgendes zu tun:

VON
tblorders o
INNER JOIN tblunits u ON o.id = u.orderid
INNER JOIN ((SELECT
                   ,Min(n.date) as [MinDate]
              from tblNotes n
             Where n.test = 'test') te
INNER JOIN tblnotes n ON te.id = n.id
                     and te.[MinDate] = n.AuditinsertTimestamp)
INNER Join tblClient c ON o.ClientId = c.Id

Im Prinzip wählt der Select in der Mitte der Abfrage nur die Notizen mit dem frühesten Datum aus. Das Problem ist, dass ich das hier machen muss, weil ich von tblOrders die erste Tabelle benötige......

Vorschläge?

0 Stimmen

Welches Problem versuchst du zu lösen? :)

0 Stimmen

Ich versuche, das Select im Inner Join zum Laufen zu bringen

0 Stimmen

Ich meine, insgesamt. Beschreiben Sie das gesamte Problem.

12voto

D'Arcy Rittich Punkte 159655

Der INNER JOIN ist fehlgeschlagen, weil hier ein führendes Komma vorhanden ist:

,Min(n.date) as [MinDate]

Ich denke, du suchst nach etwas wie diesem:

SELECT ...
FROM tblorders o   
INNER JOIN tblunits u on o.id = u.orderid  
INNER JOIN (
    SELECT id, Min(date) as [MinDate]  
    from tblNotes 
    Where test = 'test'  
    group by id
) te  <-- nicht sicher, welchen JOIN-Verknüpfungsoperator hier verwendet werden soll, bitte posten Sie das Schema
INNER JOIN tblnotes n on te.id = n.id  
    and te.[MinDate] = n.AuditinsertTimestamp  
INNER Join tblClient c ON o.ClientId = c.Id

3voto

A-K Punkte 16460

Sie fehlen ein Alias und eine Verbindungsbedingung:

VON 
tblorders o 
INNER JOIN tblunits u ON o.id = u.orderid
INNER JOIN ((SELECT Min(n.date) as [MinDate]
              von tblNotes n
             Wo n.test = 'test') te
INNER JOIN tblnotes n ON te.id = n.id
                     und te.[MinDate] = n.AuditinsertTimestamp)
-- fehlend
ALS z
AN 
INNER JOIN tblClient c ON o.ClientId = c.Id

-6voto

Sidharth Panwar Punkte 4548

Ja, Sie können ein Select in einem Join haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X