2010-01-19 3 views
-1

У меня есть две таблицы, и я хочу выбрать верхнюю строку из дочерней таблицы? есть отношение по двум таблицам по id. что я могу сделать, пожалуйста, помогите мне ????Как выбрать верхнюю строку из дочерней таблицы

+5

вы можете начать с того, что нам показали вашу попытку ... –

ответ

1

SELECT TOP ... с подходящим предложением where and/or join должно делать то, что вы ищете; есть lots of questions and answers о своем использовании здесь, на SO.

Пример:

CREATE TABLE a (pid int, tstamp datetime) 
go 
CREATE TABLE b (fid int, foo varchar(254)) 
go 

INSERT INTO a (pid, tstamp) VALUES (1, '2010-01-12') 
INSERT INTO a (pid, tstamp) VALUES (2, '2010-01-02') 
INSERT INTO a (pid, tstamp) VALUES (3, '2010-01-01') 
INSERT INTO a (pid, tstamp) VALUES (4, '2010-01-24') 

INSERT INTO b (fid, foo) VALUES (1, 'one') 
INSERT INTO b (fid, foo) VALUES (2, 'two') 
INSERT INTO b (fid, foo) VALUES (3, 'three') 
go 

SELECT TOP 2 b.foo 
FROM a 
INNER JOIN b ON a.pid = b.fid 
ORDER BY a.tstamp 

Возвращает два ряда:

'three' 
'two' 
0

Не хватает деталей и видеть больше того, что вы пытались бы помочь с созданием лучшего ответа, но если является родительский стол и b ребенок ...

SELECT TOP 1 b.* 
FROM b 
JOIN a ON (a.ID = b.ID) 
WHERE a.ID = someParentID 
AND b.SomeField = "someChildCriteria" 
ORDER BY b.ID DESC -- or by whatever field needs to be topmost 
Смежные вопросы