2014-11-24 3 views
0

두 개의 테이블이 있습니다. 하나는 쿼리 모든 유형의 쿼리를 포함하고 하나는 query_insert이며 쿼리 삽입 레코드 만 포함합니다. 다음과 같이 :MYSQL 특정 조건을 가진 두 테이블의 값을 선택하십시오.

**query**   **query_insert** 
    1 query_id   1 id 
    2 query_cons   2 query_id 
    3 title    3 *insert_date* 
    4 name    4 insert_time 
    5............. 
    ........... 
    ..... 
    9 *current_status* 
    10 return_date 

나는 신선하고 insert_date이 (query_insert에) 오늘로 CURRENT_STATUS가있는 쿼리에서 모든 쿼리를 선택합니다.

시도했지만 작동하지 않았습니다.

$result= mysql_query("SELECT query_insert.*, query.* 
         FROM query_insert,query 
         WHERE query_insert.insert_date=$today && 
          query.current_status='Fresh' "); 

이 쿼리에서 $ today는 오늘의 날짜를 포함합니다.

도와주세요. 감사합니다.

답변

0

당신은 query_id이 그들을 연결하는 속성에 두 개의 테이블을 조인 할 필요가있다. 이 같은 뭔가를 시도 할 수 있습니다 :

SELECT * 
FROM query q 
JOIN query_insert i 
ON q.id = i.query_id 
WHERE q.current_status = 'Fresh' 
AND i.insert_date = now() 

을하거나 동일한 쿼리에 대한 query_insert에서 더 많은 행이있는 경우 :

$result= mysql_query("SELECT query_insert.*, query.* 
         FROM query_insert 
          LEFT JOIN query 
            ON query.query_id = query_insert.query_id 
         WHERE query_insert.insert_date=$today && 
          query.current_status='Fresh' "); 
+0

감사합니다. 그것은 작동합니다 ... :) –

0

이 시도 :

SELECT * FROM query q 
INNER JOIN query_insert qi ON q.query_id = qi.query_id 
WHERE insert_date = CURRENT_DATE() 
AND current_status = 'Fresh' 
0

이 시도

SELECT * 
FROM query q 
WHERE EXISTS(
    SELECT 'insert' 
    FROM query_insert i 
    WHERE q.id = i.query_id 
    AND i.insert_date = now() 
) 
AND q.current_status = 'Fresh' 
0

과 같이 쿼리를 변경하시기 바랍니다 다음 :

SELECT query_insert.*, query.* 
FROM query_insert,query 
WHERE query_insert.insert_date = $today 
AND query.current_status='Fresh' 
AND query.query_id = query_insert.query_id 
0

"& & query.current_status = 'Fresh'"중 하나를 제거하여 실제로 작동하지 않는 날짜 절인지 확인하십시오.

일단 변수와 열이 날짜 및 날짜 시간이 아닌지 확인한 후에 확인하십시오. 열이 날짜 시간이면 날짜를 오늘 = $ today로 변경하면 오늘 날짜가 insert_date> = $이고 날짜가 insert_date < <

관련 문제