2017-06-22 6 views
0

Ich brauche eine Abfrage zu machen, wie folgt:SQL-Abfrage, wo ein Fremdschlüssel von einem Fremdschlüssel verwendet wird

So etwas wie diese (nicht wirklich SQL, aber das ist, was würde ich tun):

SELECT * FROM price_entry WHERE sum = 100 AND fk_service_order.fk_service='REPAIR' 

So würde Ich mag alle price_entry Reihen bekommen, wo sum Spaltenwert 100 und fk_service_order hat zu einer Reihe service_order zeigen würde, die ‚Reparatur‘ Wert auf es fk_service Spalte

EDIT: und ja sum ist eigentlich der Name einer Spalte hier.

+2

bitten Sie Tabellenstrukturen teilen? –

+2

Bitte zeigen Sie uns einige Daten oder Tabellenstruktur oder beides. Wenn Sie "Summe" als tatsächliche Summe einer Spalte definieren möchten, müssen Sie auch "GROUP BY" oder eine analytische Funktion verwenden. –

+0

Summe ist in diesem Fall eine Spalte. Schlechte Benennung kenne ich. Ich werde es der Frage hinzufügen. –

Antwort

0

ich eine solche Einrichtung gehe davon aus:

price_entry

  • Id
  • Summe
  • fk_service

service_order

  • Id
  • fk_service_order

    SELECT * 
    FROM price_entry 
    WHERE sum = 100 
         AND EXISTS 
         (
          SELECT TOP 1 1 
          FROM service_order so 
          WHERE fk_service= so.Id AND fk_service_order = 'REPAIR' 
         )