Można użyć:
select
(Select Count(*) as StockCountA from Table_A where dept='AAA') as StockCountA,
(Select Count(*) as StockCountB from Table_B where dept='BBB') as StockCountB
Objaśnienie: można wybrać pojedyncza wartość jako pole w instrukcji select, więc możesz napisać coś takiego, jak:
select
x.*,
(select Value from Table_Y y) as ValueFromY
from
Table_X x
To będzie działać tylko wtedy, gdy zapytanie podrzędne powróci co najwyżej 1 wiersz. Z 0 wierszy ValueFromY zwróci NULL
i z więcej niż jednym wierszem, zapytanie się nie powiedzie.
Dodatkową cechą select
(SQL Server, MySQL i prawdopodobnie innych) jest to, że można wybrać tylko wartości bez określania stolik w ogóle coś takiego:
Select
3.14 as MoreOrLessPI
Można połączyć oba te fakty połączyć dwa liczniki do pojedynczego wyniku, pisząc maila, który wygląda tak:
Select
(Select query that returns at most 1 row) as Result1,
(Select another query that returns at most 1 row) as Result2
Dzięki, jeśli znasz podstawy, to wiesz, co robisz inaczej, jeśli jesteś ekspertem :) – Rosebud
Tak, dlatego postanowiłem dodać trochę wyjaśnienia. Trudno znaleźć odpowiednią dokumentację, której nie wiesz, czego szukać. :) – GolezTrol