2010-03-24 4 views
0

У меня есть следующие таблицы и поля:запросов с несколькими ограничениями

 
+------------------+ +-------------------+ +---------------+ 
| Request   | | RequestItem  | | Item   | 
+------------------+ +-------------------+ +---------------+ 
| + Requester_Name | | + Request_No  | | + Item  | 
+------------------+ +-------------------+ +---------------+ 
| + Request_No  | | + Item   | 
+------------------+ +-------------------+ 

Я хотел бы, чтобы отфильтровать элементы, которые выбраны в соответствии с конкретным номером запроса, наряду с определенным именем реквестера. Как я могу это сделать?

+1

Флаг как оскорбительный - оскорбительный для моих глаз. –

+0

@Coronatus: Пожалуйста, дайте АНИТЕ некоторые причины, по которым вам это не нравится. – Oddthinking

+0

@Oddthinking: Посмотрите журнал изменений –

ответ

1

В SQL? Конечно, я не проверял это, но как насчет:

SELECT items 
FROM item INNER JOIN requestitem ON item.items = requestitem.item 
WHERE requestitem.request_no = Whatever_Request_Number_You_Want 

Или как насчет:

SELECT items 
FROM item INNER JOIN requestitem ON item.items = requestitem.item 
INNER JOIN request ON requestitem.request_no = request.request_no 
WHERE request.requester_name = 'Whatever_Name_You_Want' 
+1

Примечание: Имя поля (и имя таблицы) является "item", а не "items" в исходном вопросе. – Oddthinking

+2

Да, но из ** первой ** редакции оригинального вопроса: «ПОД ТАМОЙ ПУНКТОМ, КОТОРУЮ ИМЕЛО ПОЛЯ, ПРИЗЫВАЕМЫЕ ДЕТАЛИ»; http://stackoverflow.com/revisions/161f51f2-1404-4495-9865-8daa49a7ce64/view-source –

1

Делая некоторые предположения о том, что выглядит данные, как, но вот попробовать:

SELECT item 
FROM requestitem 
    JOIN item ON requestitem.item = item.item 
    JOIN request ON requestitem.request_no = request.request_no 
WHERE 
    request.request_no = 8642 
    AND request.requester_name = 'Specific J. Requester'; 
Смежные вопросы