|
|
|
สอบถามคำสั่ง SQL ของ MySQLให้แสดงผลหมวดหมู่ที่ยังไม่ได้เลือกครับ |
|
|
|
|
|
|
|
อยากให้แสดงหมวดหมู่ที่ยังไม่ได้เลือก ของแต่ละข่าวครับ
ตัวอย่างเช่น
ตารางข่าวที่ 4 แสดงหมวดหมู่
1.ข่าวการประชุม
2.ข่าวประชาสัมพันธ์
3.ข่าวรับสมัครงาน
ตารางข่าวที่ 5 แสดงหมวดหมู่
1.ข้อสั่งการ นโยบาย หนังสือเวียน
2.ข่าวการประชุม
3.ข่าวประชาสัมพันธ์
4.ข่าวรับสมัครงาน
คำสั่งที่ผมใช้ตอนนี้ครับ
SELECT * FROM `category` `c` LEFT JOIN `sum_category_news` `scn` ON `c`.`C_id` = `scn`.`C_id` WHERE `c`.`C_group` = '1' AND `scn`.`C_id` IS null
sqlตารางข่าว
--
-- Table structure for table `news`
--
CREATE TABLE IF NOT EXISTS `news` (
`N_id` bigint(20) NOT NULL COMMENT 'ไอดีตาราง',
`N_title` varchar(500) NOT NULL COMMENT 'ชื่อหัวข้อ',
`N_message` longtext NOT NULL COMMENT 'ข้อความ',
`N_time_start` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'เวลาเริ่มต้น',
`N_time_end` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'เวลาสิ้นสุด',
`N_sp_category` int(1) NOT NULL COMMENT 'ไอดีหมวดหมู่ย่อยsp',
`MB_id` bigint(20) NOT NULL COMMENT 'ไอดีuser'
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
--
-- Dumping data for table `news`
--
INSERT INTO `news` (`N_id`, `N_title`, `N_message`, `N_time_start`, `N_time_end`, `N_sp_category`, `MB_id`) VALUES
(4, 'efe', 'wefwefw', '2018-12-11 07:26:00', '2018-12-18 07:26:00', 1, 1),
(5, 'ggg', 'grg', '2018-12-13 02:40:00', '2018-12-20 02:40:00', 2, 1);
sql ตารางหมวดหมู่
--
-- Table structure for table `category`
--
CREATE TABLE IF NOT EXISTS `category` (
`C_id` bigint(20) NOT NULL COMMENT 'id',
`C_name` varchar(40) NOT NULL COMMENT 'ชื่อหมวดหมู่',
`C_group` int(1) NOT NULL COMMENT 'ประเภท',
`C_show` enum('0','1') NOT NULL COMMENT 'สถานะแสดงบนเว็ป'
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
--
-- Dumping data for table `category`
--
INSERT INTO `category` (`C_id`, `C_name`, `C_group`, `C_show`) VALUES
(1, 'กำหนดราคากลาง', 1, '0'),
(2, 'ข้อสั่งการ นโยบาย หนังสือเวียน', 1, '1'),
(3, 'ข่าวการประชุม', 1, '1'),
(4, 'ข่าวประชาสัมพันธ์', 1, '1'),
(5, 'ข่าวรับสมัครงาน', 1, '0'),
(6, 'ภาพกิจกรรมเยี่ยมพื้นที่', 2, '0'),
(7, 'ภาพกิจกรรม', 2, '0');
ตารางรวม
--
-- Table structure for table `sum_category_news`
--
CREATE TABLE IF NOT EXISTS `sum_category_news` (
`SCN_id` bigint(20) NOT NULL COMMENT 'ไอดีตารางรวมหมวดหมู่ข่าว',
`N_id` bigint(20) NOT NULL COMMENT 'ไอดีตารางข่าว',
`C_id` bigint(20) NOT NULL COMMENT 'ไอดีตารางหมวดหมู่ข่าว'
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
--
-- Dumping data for table `sum_category_news`
--
INSERT INTO `sum_category_news` (`SCN_id`, `N_id`, `C_id`) VALUES
(10, 4, 2),
(11, 5, 1),
(12, 4, 1);
Tag : MySQL
|
ประวัติการแก้ไข 2018-12-13 11:19:42 2018-12-13 11:20:20
|
|
|
|
|
Date :
2018-12-13 11:15:03 |
By :
pop41554 |
View :
686 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
where alias_join_tb.id is null
|
|
|
|
|
Date :
2018-12-13 11:34:23 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มีอะไรแสดงครับ
Code (SQL)
SELECT * FROM `category` `c` LEFT JOIN `sum_category_news` `scn` ON `c`.`C_id` = `scn`.`C_id` WHERE scn.N_id = 5 AND scn.c_id IS null
|
ประวัติการแก้ไข 2018-12-13 11:47:54 2018-12-13 11:48:41
|
|
|
|
Date :
2018-12-13 11:47:14 |
By :
pop41554 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT * FROM `category` `c`
LEFT JOIN `sum_category_news` `scn` ON `c`.`C_id` = `scn`.`C_id`
WHERE scn.N_id = 5 AND scn.c_id IS null
สีแดงมันบังคับอยู่ แล้วอันหลังมันจะทำงานยังไงล่ะครับ
Code (SQL)
SELECT * FROM `category` `c`
LEFT JOIN `sum_category_news` `scn`
ON scn.N_id = 5 AND `c`.`C_id` = `scn`.`C_id`
WHERE scn.c_id IS null
|
|
|
|
|
Date :
2018-12-13 12:08:31 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ออเข้าใจอะครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2018-12-13 12:19:40 |
By :
pop41554 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|