Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ขอถามเรื่อง Select Command ครับงมมาทั้งวันละครับยังไม่ได้เลยครับ



 

ขอถามเรื่อง Select Command ครับงมมาทั้งวันละครับยังไม่ได้เลยครับ

 



Topic : 110773



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์




คือแบบว่าผมมีตาราง 2 ตารางครับ

ตารางที่ 1 person << เก็บข้อมูลบุคคล

ตารางที่ 2 attend << เก็บข้อมูลผู้เข้าร่วมซึ่งจะเก็บ person_id ตารางที่ 1 มาไว้ที่นี่


ถ้าผมต้องการ select comand ให้มันแสดงออกมาว่ารายชื่อคนที่ไม่มีอยู่ในตารางที่ 2 attend ออกมาแสดงผมต้องเขียน comand ยังไงหรอครับ

ปล. ที่ผมทำคือผมเอา person_id จาก ตาราง attend มาหาใน ตาราง person ครับหาว่า person_id ไหนไม่ตรงกับตาราง attend ให้ดึงรายชื่อที่มี person_id ที่ไม่ตรงกับตาราง attend ขึ้นมาแต่มันก็ยังไม่ได้ ผมทำแบบนี้ Code (PHP)
$sql_person = "select * from person where person_id != $rows_attend[person_id]




ขอแนวทางด้วยครับ



Tag : PHP, MySQL, HTML/CSS









ประวัติการแก้ไข
2014-08-21 16:30:28
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-21 15:51:02 By : ppsonic View : 703 Reply : 15
 

 

No. 1



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


ขอดู Code และ Fields ของ 2 ตารางครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-21 15:54:23 By : Ex-[S]i[L]e[N]t
 


 

No. 2



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ตาราง Person

01


ตาราง Course_subject
003

ตาราง Course_attend

02


ประวัติการแก้ไข
2014-08-21 16:28:18
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-21 16:00:11 By : ppsonic
 

 

No. 3



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Ex-[S]i[L]e[N]t เมื่อวันที่ 2014-08-21 15:54:23
รายละเอียดของการตอบ ::
แบบนี้อะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-21 16:01:02 By : ppsonic
 


 

No. 4



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
 <tbody>
        <?	//Query ผู้เข้าร่วมทั้งหมดขึ้นมาโดยเที่ยบกับตาราง course_subject
				$sql_attend = "select * from course_attend where course_subject_id=".$rows_edit['course_subject_id']."";
				$query_attend = mysql_query($sql_attend);
					$j=0;
				while($rows_attend = mysql_fetch_array($query_attend)){
					$j++;
				//Query บุคลากรคนที่เข้าร่วมการอบรมโดยเทียบจากตาราง course_attend
				if($rows_attend['person_id']!=""){ //Start if
						echo $sql_person = "select * from person where person_id != $rows_attend[person_id] and position_id != 4";
						//echo $sql_person = "select * from person where person_id = 9 and person_id = 10 and person_id = 11 and person_id = 12 and position_id != 4";
						$query_person = mysql_query($sql_person);
													}  //End if
							while($rows_person = mysql_fetch_array($query_person)){
		?>
         <tr>
           <td align="center"><?=$j?></td>
           <td align="left"><?=$rows_person['fullname'];?></td>
           <td align="left"></td>
           <td align="center"><input type="checkbox" name="chkDel[]" id="chkDel<?=$j;?>" value="<?=$rows_person['person_id']?>" /></td>
         </tr>
         <? } ?>
          <? } ?>
       </tbody>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-21 16:02:23 By : ppsonic
 


 

No. 5



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ช่วยด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-21 16:13:34 By : ppsonic
 


 

No. 6



โพสกระทู้ ( 1,521 )
บทความ ( 2 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

Code (PHP)
<tbody>
	<?	
	$course_subject_id = $rows_edit['course_subject_id'];
	$sql_attend = "SELECT
		*
	FROM
		person
	WHERE
		person.position_id IN (
			SELECT
				person_id
			FROM
				course_attend
			WHERE
				course_attend.course_subject_id = $course_subject_id)";
	$rows_person = mysql_query($sql_attend);
	$j=0; 
	while($person = mysql_fetch_array($rows_person)){
	?>
	<tr>
		<td align="center"><?=$j?></td>
		<td align="left"><?=$person['fullname'];?></td>
		<td align="left"></td>
		<td align="center"><input type="checkbox" name="chkDel[]" id="chkDel<?=$j;?>" value="<?=$rows_person['person_id']?>" /></td>
	</tr>
	<?
	} 
	?>
</tbody>



ประวัติการแก้ไข
2014-08-21 16:20:22
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-21 16:19:29 By : Krungsri
 


 

No. 7



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : Krungsri เมื่อวันที่ 2014-08-21 16:19:29
รายละเอียดของการตอบ ::
ผมลองของพี่ดูแล้วครับ มันไม่ขึ้นอะไรเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-21 16:25:21 By : ppsonic
 


 

No. 8



โพสกระทู้ ( 212 )
บทความ ( 0 )



สถานะออฟไลน์


ลองแบบนี้ดูครับ
Code (SQL)
select t1.person_id,t1.fullanme,t3.course_subject_name,t3.begin_date
course_person t1 left join course_attend t2 on t1.person_id=t2.person_id inner join course_subject t3 on t2.course_subject_id=t3.course_subject_id
where t2.course_subject_id is null


แต่ถ้าจะให้ดีช่วย export ทั้งสามตารางออกมาเป็น sql ให้ได้ทดสอบกันจะดีกว่านี้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-21 18:14:09 By : cowboycnx
 


 

No. 9



โพสกระทู้ ( 29 )
บทความ ( 0 )



สถานะออฟไลน์


Code (SQL)
select person.person_id from person,Course_attend where person.person_id != Course_attend.person_id




ลองแบบนี้ได้ไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-21 21:17:24 By : pooturbo
 


 

No. 10



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : pooturbo เมื่อวันที่ 2014-08-21 21:17:24
รายละเอียดของการตอบ ::
ผมลองแล้ววมันขึ้นแบบนี้อะครับ
1234

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-22 09:06:20 By : ppsonic
 


 

No. 11



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 8 เขียนโดย : cowboycnx เมื่อวันที่ 2014-08-21 18:14:09
รายละเอียดของการตอบ ::

ตารางที่

Code (SQL)
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
-- 
-- โฮสต์: localhost
-- เวลาในการสร้าง: 
-- รุ่นของเซิร์ฟเวอร์: 5.0.51
-- รุ่นของ PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- 
-- ฐานข้อมูล: `db_training`
-- 

-- --------------------------------------------------------

-- 
-- โครงสร้างตาราง `course_attend`
-- 

CREATE TABLE `course_attend` (
  `course_attend_id` int(5) NOT NULL auto_increment,
  `course_subject_id` int(5) NOT NULL,
  `person_id` int(5) NOT NULL,
  `attend_status` tinytext NOT NULL,
  PRIMARY KEY  (`course_attend_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=23 ;

-- 
-- dump ตาราง `course_attend`
-- 

INSERT INTO `course_attend` VALUES (18, 9, 11, 'Y');
INSERT INTO `course_attend` VALUES (17, 9, 9, 'Y');
INSERT INTO `course_attend` VALUES (19, 10, 9, 'Y');
INSERT INTO `course_attend` VALUES (20, 10, 10, 'Y');
INSERT INTO `course_attend` VALUES (21, 10, 11, 'Y');
INSERT INTO `course_attend` VALUES (22, 10, 12, 'Y');




ตารางที่ 2

Code (SQL)
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
-- 
-- โฮสต์: localhost
-- เวลาในการสร้าง: 
-- รุ่นของเซิร์ฟเวอร์: 5.0.51
-- รุ่นของ PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- 
-- ฐานข้อมูล: `db_training`
-- 

-- --------------------------------------------------------

-- 
-- โครงสร้างตาราง `course_subject`
-- 

CREATE TABLE `course_subject` (
  `course_subject_id` int(10) NOT NULL auto_increment,
  `course_subject_name` varchar(200) NOT NULL,
  `place_id` int(5) NOT NULL,
  `lecturer_id` int(11) NOT NULL,
  `begin_date` date NOT NULL,
  `end_date` date NOT NULL,
  `begin_time` time NOT NULL,
  `end_time` time NOT NULL,
  `budget` int(10) NOT NULL,
  `seat` int(11) NOT NULL,
  `day` date NOT NULL,
  `date_time` datetime NOT NULL,
  PRIMARY KEY  (`course_subject_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;

-- 
-- dump ตาราง `course_subject`
-- 

INSERT INTO `course_subject` VALUES (9, 'Security Network System', 2, 1, '2014-08-31', '2014-08-31', '00:00:01', '00:00:13', 0, 0, '2014-08-21', '2014-08-21 11:16:19');
INSERT INTO `course_subject` VALUES (10, 'ธรรมะวาไรตี้', 1, 1, '2014-08-27', '2014-08-31', '00:00:11', '00:00:19', 0, 0, '2014-08-21', '2014-08-21 12:31:59');




ตารางที่ 3

Code (SQL)
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
-- 
-- โฮสต์: localhost
-- เวลาในการสร้าง: 
-- รุ่นของเซิร์ฟเวอร์: 5.0.51
-- รุ่นของ PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- 
-- ฐานข้อมูล: `db_training`
-- 

-- --------------------------------------------------------

-- 
-- โครงสร้างตาราง `person`
-- 

CREATE TABLE `person` (
  `person_id` int(5) NOT NULL auto_increment,
  `position_num` int(5) NOT NULL,
  `nametitle_id` int(5) NOT NULL,
  `department_id` int(5) NOT NULL,
  `position_id` int(5) NOT NULL,
  `picture` varchar(80) NOT NULL,
  `fullname` varchar(150) NOT NULL,
  `email` varchar(20) NOT NULL,
  `mobile` varchar(40) NOT NULL,
  `status` varchar(10) NOT NULL,
  `comment` text NOT NULL,
  `day` date NOT NULL,
  `date_time` datetime NOT NULL,
  `sort` tinyint(4) NOT NULL,
  PRIMARY KEY  (`person_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;

-- 
-- dump ตาราง `person`
-- 


INSERT INTO `person` VALUES (9, 1, 2, 1, 1, '1407942718_img.jpg', 'รัตนาวรรณ เลิศฤทธิ์ศิริกุล', '', '', 'ประจำอยู่', '', '2014-08-13', '2014-08-13 23:11:58', 1);
INSERT INTO `person` VALUES (10, 2, 2, 3, 1, '1407989418_img.jpg', 'จงจิตร  นราชัยวิบูล', '', '', 'ประจำอยู่', '', '2014-08-14', '2014-08-14 12:10:18', 2);
INSERT INTO `person` VALUES (11, 3, 3, 5, 1, '1408095660_img.jpg', 'อัมพร  เพชรนุช', '', '', 'ประจำอยู่', '', '2014-08-15', '2014-08-15 17:41:00', 3);
INSERT INTO `person` VALUES (12, 4, 3, 1, 1, '1408097131_img.jpg', 'วัชรา  บุญยืน', '', '', 'ประจำอยู่', '', '2014-08-15', '2014-08-15 18:05:31', 4);



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-22 09:13:44 By : ppsonic
 


 

No. 12



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
$qr = 'select p.* from person p left join attend a on a.person_id=p.person_id where a.person_id is null ';




ประวัติการแก้ไข
2014-08-22 09:48:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-22 09:47:34 By : Chaidhanan
 


 

No. 13



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-08-22 09:47:34
รายละเอียดของการตอบ ::
ขอโทษนะครับ ผมไม่เข้าใจว่า p. p left a on a. มันคืออะไรหรอครับ ผมยังไม่ค่อยเข้าใจจริงๆครับ อธิบายให้เข้าใจง่ายกว่านี้ไดด้ไหมครับ
ขอบพระคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-22 09:54:06 By : ppsonic
 


 

No. 14



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


Code (SQL)
select p.* # p อ้างจาก person p   คำเต็มคือ person as p เฉพาะ mysql เขียนสั้นๆ ได้ person p
from person p    # p ตรงนี้เป็น การสร้าง ชื่อเล่น (Alias name) ไว้เรียกใช้ แบบขี้เกียจพิมพ์ชื่อตารางยาวๆ 5555
left join attend a  # a อันนี้ก็เหมือนกันกับ p
on a.person_id=p.person_id   #  เอามาใช้ ตรงนี้ a.person_id = attend.person_id   p.person_id = person.person_id
where a.person_id is null  # บันทัดนี้ ด้วย 



ปล. สำหรับ left join

tb1 left join tb2 หมายความว่า ใช้ record tb1 เป็นหลัก แล้ว เอา tb2 มา join โดยทำตามเงื่อนไขหลัง ON

เหมือนกันกับ
tb1 right join tb2 หมายความว่า record ใช้ tb2 เป็นหลัก แล้ว เอา tb1 มา join โดยทำตามเงื่อนไขหลัง ON


ส่วน tb1 join tb2 หมายความว่า ใช้ทุก record ของทั้งสอง table โดยทำตามเงื่อนไขหลัง ON


ประวัติการแก้ไข
2014-08-22 10:47:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-22 10:41:51 By : Chaidhanan
 


 

No. 15



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 14 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-08-22 10:41:51
รายละเอียดของการตอบ ::

เป็นแบบนี้นี่เองของคุณครับ เดี๋ยวผมจะลองเอาไปใช้ดูครับ ขอบคุณครับสำหรับคำตอบกระจ่างมากครับ อิอิ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-22 10:46:28 By : ppsonic
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอถามเรื่อง Select Command ครับงมมาทั้งวันละครับยังไม่ได้เลยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่