주어진 ID와 주어진 Branch가 포함 된 레코드를 선택하여이 쿼리를 작성하고 이것이 올바른 방법인지 여부를 알고 싶습니다."WHERE"및 "IN"을 사용하여 SQL 쿼리를 올바르게 작성하는 방법
메신저 사용 CodeIgniter는
$orderids = array('2', '3');
$branch = array('branch1', 'branch2');
$this->db->where_in('order_id', $orderids);
$this->db->where_in('branch', $branch);
$query = $this->db->get('tbl_order_data');
이
이SELECT *
FROM (`tbl_m_order_collection_data`)
WHERE `order_id` IN ('2', '3')
AND `branch` IN ('branch1', 'branch2')
내 테이블
,536,913과 같은 쿼리를 만드는+----+----------+-------------+-----------+
| ID | order_id | branch | item_code |
+----+----------+-------------+-----------+
| 1 | 1 | branch1 | 4R1 |
| 2 | 1 | branch2 | 4R11 |
| 3 | 1 | branch2 | ACS20x20 |
| 4 | *2 | branch1 | ACS20x27 |
| 5 | *2 | branch1 | ACS20x20 |
| 6 | 1 | branch1 | ACS20x20 |
| 7 | 2 | branch2 | ACS20x27 |
| 8 | *3 | branch2 | ACS20x20 |
+----+----------+-------------+-----------+
나는 무엇을 시도하는 것이 테이블에서 별표 표시된 레코드를 얻는 것입니다. 위의 쿼리는 사용하기에 유효합니까?
괜찮아요? 너 * 시도해 봤어? – Amber
예는 잘 작동하는 것 같지만 어디서 어떻게 작동하는지 잘 모릅니다. thats why of why ask –
'2'는 (2,3)에 있고 'branch2'는 (branch1, branch2)에 있기 때문에 작성된 쿼리는 ID # 7 행을 반환한다는 점에 유의하십시오. 'IN' 절은 서로 독립적입니다. – Amber