2013-08-26 3 views
1

두 개의 열에서 같은 값을 가진 모든 행을 선택 계정
a | 1
b | 2
c | 3
d | 4
e | 5
f | 6
g | 7
MySQL은 내가 MySQL은 두 개의 테이블이

나는 내가 이것을 시도했습니다 CNAME = 문자

두 테이블에서 모든 계정을 선택합니다 : SELECT account FROM table1,table2 WHERE cname = character

그러나 빈 반환합니다. 나는 단순한 뭔가를 놓치고 있다고 확신합니다 ...

어떤 도움을 주시면 감사하겠습니다.

+0

이제는 정말 이상합니다. SQL Fiddle에서 테스트했는데 완벽하게 작동하지만 실제 데이터베이스에서는 작동하지 않습니다. 또한, SELECT * FROM table1 WHERE cname = 'a'는 빈 세트를 리턴합니다 ... – l3utterfly

+0

아마도 하나 또는 다른 컬럼에 공백 문자가 있습니다. – Strawberry

+0

당신과 디페시 모두 틀렸다는 것에도 유의하십시오. 'character'는 MySQL에서 예약어입니다. 따라서이 쿼리는 전혀 작동하지 않으므로 결과가 반환되지 않습니다. – Strawberry

답변

3

쿼리에 테이블 이름을 지정해야합니다.

SELECT account FROM table1,table2 WHERE table1.cname = table2.character 

또는

사용 JOINS

SELECT table2.account FROM table1 
LEFT JOIN table2 ON table1.cname = table2.character 
+0

여전히 빈 세트를 반환합니다. – l3utterfly

+0

@ l3utterfly [** SQL Fiddle **] (http://sqlfiddle.com/)에서 피들을 만들어 더 나은 아이디어를 얻을 수 있습니까? –

+0

자, 이제 빌드하십시오. 참고로 제안 된 두 번째 쿼리를 사용하면 table2 – l3utterfly

0

아마 데이터가 공백 또는 기타 특수 문자를 추가하거나 앞에 추가가있을 수 있습니다. 데이터가 양호한 지 확인하십시오. 트리밍을 사용해보십시오.