2017-05-23 1 views
0

Momentan habe ich mich mit SQL-Inhalten beschäftigt, die mir bei meinen Power BI-Berichten helfen.Werte in mehrere Spalten zurückgeben

Derzeit ist dies der Code arbeite ich mit

SELECT DISTINCT custf.FieldValue AS ID 
FROM CustomFields custf 
    INNER JOIN ProjectFields projf 
     ON projf.ProjectFieldId = custf.ProjectFieldId 
    INNER JOIN Projects proj 
     ON proj.ProjectId = projf.ProjectId 
WHERE proj.TenantId = '130' 
    AND proj.ProjectId='1650' 
    AND projf.Name = 'UnitAmount' 

jedoch die Möglichkeit, die Datenbank eingerichtet ist scheint sehr „merkwürdig“, zu mir. Weil, um den Wert für ein Feld zurückzugeben, ich 2 andere Tabellen verweisen muss (wie Sie in der Anweisung sehen können)

Mein Problem ist, obwohl ich zwei Spalten (oder mehr) aus der einen Tabelle zurückgeben muss ABER der einzige Weg, um zwischen den Daten zu unterscheiden (Weil es alle in der einen Spalte ist) ist der Name des Feldes (proj_Name = #Feldname Ich möchte zurückgegeben #)

Ist es möglich, zum Beispiel zurückzukehren , UnitAmount und InvoiceDate, obwohl ich die WHERE-Bedingung ändern muss?

Jede Hilfe, Feedback oder drückt in der richtigen Richtung wäre sehr dankbar

+0

Sie von uns mitzuteilen, beginnen, was RDBMS auf dem Sie arbeiten, und zu Ihrer Frage die entsprechende Tabelle des DDL und einige Beispieldaten als DDL hinzufügen, sowie gewünschten Erfolge. Auf diese Weise erhöhen Sie Ihre Chancen auf eine korrekte Antwort. –

Antwort

0

Dies ist, wo Sie die IN-Klausel verwenden möchten. Dort finden Sie auch auf Ihr ein anderes Feld hinzufügen möchten SELECT:

SELECT DISTINCT projf.Name, 
    custf.FieldValue AS ID 
FROM CustomFields custf 
    INNER JOIN ProjectFields projf 
     ON projf.ProjectFieldId = custf.ProjectFieldId 
    INNER JOIN Projects proj 
     ON proj.ProjectId = projf.ProjectId 
WHERE proj.TenantId = '130' 
    AND proj.ProjectId = '1650' 
    AND projf.Name IN ('UnitAmount', 'InvoiceDate') 
+0

Danke für diese Antwort (Entschuldigung für die späte Antwort hatte keine Internetverbindung in etwa 24 Stunden) Allerdings brauche ich diese zwei oder mehr Werte in verschiedenen Spalten im Gegensatz zu denen mit einer Beschriftung auf ihnen zurück. Irgendwelche Ideen? Danke – KaSSii

Verwandte Themen