두 개의 테이블은 tbl_product1 및 tbl_product2입니다.데이터 결합 및 두 테이블 간의 특정 열 결합
tbl_product1 :
model_name
lot_num
status_prod1
datecreated
date_received
tbl_product2 : 나는이 두 테이블 사이에 MODEL_NAME을 결합하여 하나 개의 컬럼에서뿐만 아니라 lot_num 할
model_name
lot_num
status_prod2
last_date
. 그런 다음 status_prod1, datecreated, date_received를 tbl_prod1 및 status_prod2, last_date에서 조인하십시오.
내 SQL 쿼리 :
$query = "SELECT c.model_name, c.lot_num, c.s1, c.s2, c.datecreated, c.date_received, c.last_date
FROM (SELECT model_name, lot_num, status_prod1 AS s1, NOT NULL AS s2, datecreated, date_received, NULL AS last_date FROM tbl_product1 WHERE status_prod1 = 'sent' UNION SELECT model_name, lot_num, NOT NULL AS s1, status_prod2 AS s2, NULL AS datecreated, NULL AS date_received, last_date FROM tbl_product2 WHERE status_prod2 = 'sent')c
ORDER BY model_name, lot_num ASC";
그러나 결과는 나의 기대로하지 않습니다. 이 쿼리를 실행하면 double lot_num 및 model_name이 표시됩니다. 나는 설명하는 방법을 모른다.
예를 들어 내가 내 코드를 실행할 때이 출력이 표시됩니다 :
model_name | lot_num | status_prod1 | status_prod2
---------------------------------------------------
magic1 | 001 | sent |
magic1 | 001 | | sent
sss | 100 | sent |
ddd | 222 | sent |
ddd | 222 | | sent
이 Supposely 테이블이 좋아한다 :
model_name | lot_num | status_prod1 | status_prod2
---------------------------------------------------
magic1 | 001 | sent | sent
sss | 100 | sent |
ddd | 222 | sent | sent
꽤 잘 작동합니다! 붙어있는 상황에서 나를 도와 주신 고맙습니다. – den