2016-11-03 3 views
3

저는 현재 바꾼 시스템과 같은 시스템을 수행 중입니다. 이런 상황. 고객 (재스민)은 'NAME'속성 (그녀가 추구해야하는 것)을 입력하고 'SEEK '속성 (그녀가 찾는 것이 무엇인지)을 입력해야합니다. 결과를 얻으려면 'SEEK'속성이 다른 고객의 'Name'속성과 일치해야하며 다른 고객의 'SEEK'속성은 Jasmine의 'HAVE'속성과 일치해야합니다. 예를 들어일치하는 속성을 찾기위한 sql 쿼리

은 내가 (이미 데이터베이스) 테이블 항목 예를 들어

|ITEMSID|NAME |SEEK  |USERID| 
|A01 |printer|laptop |A1 | 
|A45 |laptop |headphone|A2 | 
|AY3 |laptop |headphone|A3 | 

재스민은 '이름'속성 헤드폰을 가지고 있으며, '탐색'노트북을 속성 및 결과이 좋아한다 있습니다. 그 결과 하나 개 이상의 행을 따라 그것을 할 수있다 구성 (모든 가능성을 나열해야하고,이 '이름'과 타협과 일치하지 않는 경우는 제로 결과를 얻을 수있다 'SEEK'

|ITEMSID|NAME |SEEK  |USERID| 
|AY3 |laptop |headphone|A3 | 
|A45 |laptop |headphone|A2 | 

이 도와 주셔서 감사 때문이다. 의견에 따라 내가 유래의 새로운 사용자입니다

편집 : 내가 JSP P/S를 사용하여 개발되고있어 시스템. 나는 이미 inner join를 사용하여 시도

하지만 쿼리 결과는 특정하지 않습니다 하나의 트랜잭션에서 ('Have'와 'Seek'속성 사이의 결과 일치를 의미하지만 일치하는 모든 행과 하여가 '가지고'을 선택 T 속성 인 입력) 것을 : 내가 제대로) 내가 (확실하지 귀하의 요청을 이해한다면 쿼리를 기반으로

SELECT a.NAME, a.seek,a.ITEMSID 
FROM items a 
JOIN items b ON a.NAME = b.seek AND b.NAME = a.seek 
+2

이 질문을 쓰려고 시도 했습니까? 지금까지 무엇을 시도 했습니까? 무엇이 잘못 되었습니까? – Galz

+0

이미 내부 조인을 사용하려고하지만 쿼리 결과가 특정 트랜잭션과 관련이 없습니다 ('Have'와 'Seek'속성 사이의 결과 일치가 모든 행을 읽지 만 '입력'속성 인 'Have') – FYP

+0

SELECT a.NAME는 a.seek는하는 가 a.NAME = b.seek AND b.NAME = a.seek – FYP

답변

1

당신이 시도, 당신이없는 모두를위한 WHERE 절입니다 입력.

SELECT a.name, a.seek, a.ITEMSID 
FROM items a 
JOIN items b 
    ON a.name = b.seek 
    AND b.name = a.seek 
WHERE a.name = 'input here' 
+0

TQ ON b를 상품 가입 항목 FROM 을 a.ITEMSID 나는 이미이 쿼리를 시도하지만 그 결과가 목표가 아니다. 검색어는 첫 번째 고객이 입력 한 내용을 표시합니다 (예 : Jasmine 'name'및 'seek'속성 – FYP

+0

@FYP - 'Name'은 Jasmine입니다.) 샘플 데이터 이름에 'headphones'...와 같은 값이 있습니다. 샘플 데이터를 게시하십시오. 및 필요한 샘플 출력. – Galz

관련 문제