我想選擇包含給定ID和給定分支的記錄,所以我想出了這個查詢,我想知道這是否是正確的方式來編寫這個如何正確使用「WHERE」和「IN」編寫SQL查詢
IM使用笨
$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')
我的表看起來像
+----+----------+-------------+-----------+
| 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
是的似乎工作正常,但我不知道如何在哪裏和IN與AND工作。這就是爲什麼我雖然要求 –
請注意,寫入的查詢也會返回ID爲7的行,因爲'2'在(2,3)中,'branch2'在(branch1,branch2)中。 「IN」條款彼此獨立。 – Amber