table1 (ID는 항상 있음)하나의 테이블에 DATA가없는 경우 3 개의 테이블, 왼쪽 조인
+----+------+
| id | col1 |
+----+------+
| 1 | ab |
+----+------+
| 2 | gh |
+----+------+
table2 (항상 존재)
+----+------+
| id | col2 |
+----+------+
| 1 | cd |
+----+------+
| 2 | ij |
+----+------+
table3 (이 경우 2이 누락 될 수 있음)
+----+------+
| id | col3 |
+----+------+
| 1 | ef |
+----+------+
PHP
$col = 'ab';
$a = mysql_query("SELECT t1.id FROM table1 AS t1, table2 AS t2, table3 AS t3
WHERE t1.id = t2.id AND t2.id = t3.id AND (t1.col1 = '$col' OR t2.col2 = '$col'
OR t3.col3 = '$col) GROUP BY t1.id, t2.id, t3.id");
세 개의 테이블 모두 "같은 ID"가 포함 된 경우에만 작동하지만, 어떤 이유로 든 "id"가 table3에없는 경우 어떻게됩니까? $ col = ab 일 때, 3 개의 테이블을 모두 테스트하고 t1.id를 1로 출력하려면 어떻게해야합니까? 을 사용하여 왼쪽에 가입해야합니까?
$a = mysql_query("SELECT t1.id FROM table1 AS t1, table2 AS t2
LEFT JOIN (SELECT id FROM table3 WHERE col3 = '$col') AS t3 ON t3.id = t1.id
WHERE t1.id = t2.id AND (t1.col1 = '$col' OR t2.col2 = '$col')
GROUP BY t1.id, t2.id");
내가 뭘 잘못하고 있니?
컨텍스트가 없으면 달성하고자하는 것을 이해하기가 어렵습니다. 검색 할 데이터와 테이블 간의 상관 관계는 무엇입니까? – jishi