2013-03-17 2 views
0

SQL은 확실히 내 장점이 아닙니다. 나는 그것을 얻을만큼 잘 알고있다. 내가 실제로 잘 배울 수 없었던 것은 조인을 사용하는 방법이었습니다. 조인을 사용하기위한 조건문을 결코 얻을 수 없으며 왜 그런지 모릅니다. 그래서 나는 그것을 알아낼 것이라고 생각했습니다. 나는 개인 뉴스 피드를 만들고있어, 이것은 PDO 문 반환이라는 dB에서SQL 구문을 쓰려고하는 구문 오류

SELECT * FROM feed 
WHERE INNER JOIN friends ON feed.user = friends.user1 
WHERE friends.user2 = ? AND day = ? 
ORDER BY id DESC 
LIMIT 15 

오류를 가져 내 SQL입니다 :

  • 'SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : 1064 SQL 구문에 오류가 있습니다. 라인에서 라인에 의해 잘 작동 한 '

을'INNER는 feed.user = friends.user1 WHERE friends.user2 = ON 친구를 가입 '근처 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 그 이후에 'AND day =?'라는 추가 조건을 제거하면 그러나 지금 쓰여진 방식대로 작동하지 않습니다. 그래서이 문장은

SELECT * FROM feed 
INNER JOIN friends ON feed.user = friends.user1 
WHERE friends.user2 = ? 
ORDER BY id DESC 
LIMIT 15 

는 내 질문에 내가 있음을 추가하려면 어떻게되어 작동 '= AND 일?' 성명서에 올바른 방법으로?

+0

'FROM * WHERE INNER JOIN'이 (가) 올바른 SQL 문이 아닙니다. – MarcinJuraszek

+0

where 절에서 내부 조인을 사용할 수 없습니다 –

+0

처음 제거 어디 – jurgenreza

답변

1
SELECT * FROM feed 
INNER JOIN friends ON feed.user = friends.user1 
WHERE friends.user2 = ? AND feed.day = ? 
ORDER BY feed.id DESC LIMIT 15 
+0

그게 효과가! where 절에 테이블 이름을 추가하기 만하면됩니다. 감사! – Alex

+0

@ user1928545 문제 없음 –