Я нуждаюсь в помощи вложенных запросов
у меня есть две таблицы: Tb1, Tb2
TB1 ------------------------ | ID1| SNAME | -+----+-------+---------- | 1 | NAME1 | -+----+-------+---------- | 2 | NAME2 | -+----+-------+---------- | 3 | NAME3 | ------------------------ TB1 ------------- | ID1 | |**___ TB2 ------------- \___ ----------------------- | SNAME| | \___ | ID2 | | ------------- |___ +-------+---------+--- \==> | IDTB1 | | +-------+---------+--- | SID2 | | +-------+---------+--- |SVALUE | | +-------+---------+-- TB2 ID2 IDTB1 SID2 SVALUE ---------------------------------- |ID2 |IDTB1| SID2 | SVALUE | -+----+-----+--------------------- | 1 | 1 | 5 | 11 | -+----+-----+-------------------- | 2 | 1 | 7 | 9 | -|----|-----+-------------------- | 3 | 1 | 7 | 10 | -|----|-----+-------------------- | 4 | 1 | 7 | 13 | -|----|-----+-------------------- | 5 | 2 | 5 | 14 | -|----|-----+-------------------- | 6 | 2 | 5 | 16 | -|----|-----+-------------------- | 7 | 2 | 5 | 18 | -|----|-----+-------------------- | 8 | 2 | 7 | 10 | -|----|-----+-------------------- | 9 | 3 | 5 | 10 | -|----|-----+-------------------- | 10 | 3 | 1 | 10 | -|----|-----+-------------------- | 11 | 3 | 7 | 22 | --------------------------------- I want query to show results like: example: where SID2=7 ---------------------------- | ID2 | SNAME | SVALUE | -+-----+-------+--------+--- | 4 | NAME1 | 13 | -+-----+-------+--------+--- | 8 | NAME2 | 10 | -+-----+-------+--------+--- | 11 | NAME3 | 22 | ----------------------------
Что я уже пробовал:
SELECT TB1.SNAME, TB2.ID2, ( select max(SVALUE) from tb2 where TB2.SID2 = 7 ) as SVALUE FROM dbo.TB1 INNER JOIN dbo.TB2 ON TB1.ID = TB2.IDTB1 WHERE TB2.SID2 = 7
0x01AA
ВЫБИРАТЬ
ТВ2.ID2, которое,
ТВ1.SNAME,
ТВ2.SVALUE
ЛЕВОЕ СОЕДИНЕНИЕ НА ТВ2 ТВ2.IDTTB1 = ТВ1.Типа id1
ГДЕ TB2. SID2 = '7'
должны делать это
spotligh_ly
Спасибо брат /
но я хочу вернуть одно значение IDTB1
Когда максимальное значение SValue или ID2
что легко
При применении вашего запроса эти результаты:
----------------------------
| ID2 | SNAME | SVALUE |
-+-----+-------+--------+---
| 2 / NAME1 / 9 |
-+-----+-------+--------+---
| 3 / NAME1 / 10 |
-+-----+-------+--------+---
| 4 / NAME1 / 13 |
-+-----+-------+--------+---
| 8 / NAME2 | 10 |
-+-----+-------+--------+---
| 11 / NAME3 / 22 |
-+-----+-------+--------+---
но мне нужны такие результаты, как
----------------------------
| ID2 | SNAME | SVALUE |
-+-----+-------+--------+---
| 4 / NAME1 / 13 |
-+-----+-------+--------+---
| 8 / NAME2 | 10 |
-+-----+-------+--------+---
| 11 / NAME3 / 22 |
----------------------------