의 [양]에 언급되지 않은 경우에만 레코드를 반환하는 내 UI에서 지금쿼리 내가 두 테이블이 이미 다른 기록
을, 나는 등록자 목록 및 콤보가 사용자가 그러나 잘 작동 투어, :
를 선택할 수있는 당신이 통지로 상자 필드에는 각 tour
는 capacity
을 가지고, tour_att
에 연결. 모든 투어 id
s를 표시하는 대신, 나는 capacity
에 지정된 숫자 이상으로 선택되지 않은 ID에만 옵션을 제한하고 싶습니다. 나는이 투어 테이블에 기록이있는 경우 예를 들어
는 : 1은 registrants
테이블 레코드 14 개 tour_att
분야에서 이미 존재하는 id
경우
| 1 | "10:30" | "This tour is at ten thirty" | 14 |
를, 그것은에 옵션으로 표시 안 그 여행이 그 용량에 도달했기 때문에 선택하십시오.
내가 묻는 것을 수행하는 쿼리를 만드는 방법이 있습니까? 이것은 내가 지금까지 가지고있는,하지만 제대로 동작하지 않습니다 : (참고 :이 MSACCESS SQL, 그래서 일반 SQL보다 조금 다른 것처럼 보일 수있다) 당신이 누락
SELECT tours.id
FROM tours INNER JOIN registrants ON tours.id = registrants.tour_att
WHERE count(iif(registrants.tour_att=tours.id,1,0)) < tours.capacity
ORDER BY tours.id;
감사합니다. 코드에서 수행중인 작업을 설명하는 주석을 추가 하시겠습니까? 나는 여전히 SQL을 배우고 있으며 이것은 내가 배울 때 도움이 될 것입니다. – gnarlybracket
지정된 'tours.id'에 대해 등록자가없는 경우를 제외하고는 잘 작동합니다. 그런 일이 생길 때, 옵션으로'id '를 반환하지 않습니다. 모든'registrants.tour_att' 필드가 비어 있다면, 나는 결과를 얻지 못합니다. 'Left Join '을 사용해 보았지만 작동하지 않았습니다. 어떤 충고? – gnarlybracket