SQL เงื่อนไข AND หลายแถวทำได้มั้ยค่ะ

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 11497
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

SQL เงื่อนไข AND หลายแถวทำได้มั้ยค่ะ

โพสต์โดย thatsawan » 06/09/2016 11:58 am

ต้องการ Topic_id ที่มี tag_id = 442 เเละ tag_id = 440 จะทำยังไงได้บ้างค่ะ
2016-09-06_11-48-40.png
2016-09-06_11-48-40.png (83.76 KiB) เปิดดู 213 ครั้ง


โค้ด: เลือกทั้งหมด

SELECT * FROM `phpbb_m_topictags` WHERE `tag_id` = 442 AND `tag_id` = 440

ไม่ได้ผลลัพท์ที่ต้องการ

โค้ด: เลือกทั้งหมด

SELECT *  FROM `phpbb_m_topictagsWHERE `tag_idIN (440,442ORDER BY `tag_idASC


BETWEEN ก็ลองเเล้ว ไม่ได้เหมือนกัน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 11497
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: SQL เงื่อนไข AND หลายแถวทำได้มั้ยค่ะ

โพสต์โดย thatsawan » 06/09/2016 2:24 pm

ได้เเล้วค่ะ

โค้ด: เลือกทั้งหมด

 $sql_array = array(
                
'SELECT' => 'tt.topic_id',
                
'FROM' => array(
                    
$this->m_topictags => 'tt'
                
),
                
'WHERE' => 'tt.tag_id = 440',
            );
            
$where_select_topic $this->db->sql_build_query('SELECT'$sql_array);


            
$sql_array = array(
                
'SELECT' => 'tt.topic_id',
                
'FROM' => array(
                    
$this->m_topictags => 'tt'
                
),
                
'WHERE' => 'tt.tag_id = 442',
            );
            
$where_select_topic_1 $this->db->sql_build_query('SELECT'$sql_array);

            
            if (!empty(
$tag_id_search)) {
                
$sql_array = array(
                    
'SELECT' => 'tt.topic_id',
                    
'FROM' => array(
                        
$this->m_topictags => 'tt'
                    
),
                    
'WHERE' => array(),
                    
'LEFT_JOIN' => array(),
                    
'ORDER_BY' => array(),
                    
'GROUP_BY' => 'tt.topic_id',
                );

                
$sql_array['WHERE'] = 'tt.topic_id IN (' $where_select_topic ')'
                
$sql_array['WHERE'] .= ' AND tt.topic_id IN (' $where_select_topic_1 ')'
                
$sql $this->db->sql_build_query('SELECT'$sql_array);

                
$query $this->db->sql_query($sql);
                while (
$row $this->db->sql_fetchrow($query)) {
                    
$topic_id_search[] = $row['topic_id'];
                }
            } 


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 9 และ บุคคลทั่วไป 0 ท่าน