Die Abfrage ist in Ordnung, solange der Subselect nur eine Zeile zurückgibt jedes Mal.
Wenn mehr Zeilen zurückgegeben werden, müssen Sie Ihre Abfrage wie folgt ändern:
%Vor%HINWEIS: In Ihrem Fall wäre ein einfacher innerer Join wie andere vorgeschlagen viel redbarer (und vielleicht ein kleines bisschen schneller) - aber was Sie geschrieben haben ist absolut in Ordnung (es gibt immer mehrere Möglichkeiten, um das gewünschte Ergebnis zu erzielen - und es ist jetzt immer leicht zu sagen, wer einer der "Besten" ist ;-))
Sie sollten SQL JOIN
verwenden, um diese Funktionalität bereitzustellen.