2013-04-08 4 views
0

테이블이 있어야하며 SQL-Query와 조인하고 싶습니다. 그것은 세계의 가장 쉬운 것일지도 모르지만 ... 음.조건이있는 두 테이블을 결합하십시오.

표 "수"

----------------------------- 
¦ id ¦ segment ¦ count ¦ 
""""""""""""""""""""""""""""" 
¦ 1 ¦ fruits  ¦ 0  ¦ 
----------------------------- 
¦ 2 ¦ sweets  ¦ 2  ¦ 
----------------------------- 

표 "음식"

------------------------------------- 
¦ id ¦ type   ¦ segment ¦ 
""""""""""""""""""""""""""""""""""""" 
¦ 1 ¦ banana   ¦ fruits ¦ 
------------------------------------- 
¦ 2 ¦ cranberries  ¦ fruits ¦ 
------------------------------------- 
¦ 3 ¦ strawberries ¦ fruits ¦ 
------------------------------------- 
¦ 4 ¦ chocolate  ¦ sweets ¦ 
------------------------------------- 
¦ 5 ¦ candy   ¦ sweets ¦ 
------------------------------------- 

나는 과일과 과자와 "foodbox"를 입력하고 싶습니다. 이미 충분한 과일이 있기 때문에 과자 만 여전히 "음식 상자"에 추가 될 수 있습니다.

과일을 더 이상 추가 할 수 없으므로 과자 (초콜릿 및 사탕)를 어떻게 나열 할 수 있습니까 (fruits = 0)? 지금까지

내 쿼리 :

SELECT type.food 
FROM count, food 
WHERE type.food LIKE '%$query%' AND segment.food > '1' 

(.. 항목은 searchfield에서 원하는 항목에서 사용자가 입력 한 후 표시되어야합니다 따라서 내가 LIKE를 사용)

은 어떤 도움이 많이 감사합니다!

+0

$ 쿼리는 무엇입니까 ..? – alwaysLearn

+0

조회는 부트 스트랩 유형 선행 입력 필드에서옵니다. 매력처럼 작동합니다. – user2256380

답변

-1
SELECT food.type FROM count, food WHERE food.segment = count.segment AND food.type LIKE '%$query%' AND count.count > 0 
+0

당신은 rockstar, drodil입니다! 감사! – user2256380

-1

가입을 원할 때 조건이 있어야합니다. . 당신이 그것을 수정하지 않는 사용하는 별칭

시도 ... find_in_set 가능성이 당신이 원하는 것입니다 .. food.type하지 type.food

당신이 여러에 대한 일치시킬 이후는 LIKE 당신 간염하지 않습니다 알엇해야한다 이

SELECT f.type 
FROM count c 
join food f 
on c.segment = f.segment 
where FIND_IN_SET(f.segment, 'sweets,fruit') and c.count >=1 

는 .. fiddle

가 당신을 도움이되기를 바랍니다 볼

+0

오오 정말 !! 왜 downvote ..? – alwaysLearn

+0

@ user2256380 http://sqlfiddle.com/#!2/25d4b/1 참조 – alwaysLearn

+0

대단히 감사합니다. 나는 아직 투표 할 수 없다. 그래서 나는 아니다. 또한 추가 마일로 가서 sqlfiddle을 설정해 주셔서 감사합니다! 여기에서 시작, 멋진 커뮤니티와 빠른 도움! – user2256380

관련 문제