อยากได้เป็นข้อมูลที่ตรงข้ามกับการค้นหาด้วยคำสั่ง select ที่มีความสัมพันธ์หลายๆตาราง
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 273   2
URL.หัวข้อ / URL
อยากได้เป็นข้อมูลที่ตรงข้ามกับการค้นหาด้วยคำสั่ง select ที่มีความสัมพันธ์หลายๆตาราง

อยากได้เป็นข้อมูลที่ตรงข้ามกับการค้นหาด้วยคำสั่ง select ที่มีความสัมพันธ์หลายๆตาราง
ผมเขียนคำสั่งนี้เพื่อแสดงรายการสินค้าทั้งหมดที่สถานะการส่งสินค้าอาจเป็นค่าว่าง หรือ ไม่มีการสั่งซื้อในรายการสินค้านั้น แต่ถ้ายังไม่ส่งสินค้าก็จะไม่แสดงขึ้นมาในหน้านี้

แต่ผมลองเขียนแล้วเรียกแต่ข้อมูลที่เป็นค่าเหล่านี้มาได้ซึ่งเป็นข้อมูลที่ตรงกันข้ามกับที่ผมต้องการ

SELECT DISTINCTROW product.p_id, brand.brand_name, product.p_model, product.p_price, orders_detail.p_id, orders.status
FROM (brand INNER JOIN product ON brand.brand_id = product.brand_id) INNER JOIN (orders INNER JOIN orders_detail ON orders.order_id = orders_detail.order_id) ON product.p_id = orders_detail.p_id
WHERE (((orders.status)="ยังไม่ส่งสินค้า"));


0001 AAA A20 5,000 0001 ยังไม่ส่งสินค้า
0008 ZZZ Z10 7,500 0008 ยังไม่ส่งสินค้า


คือผมอยากจะให้แสดงข้อมูลที่ตรงข้ามจากนี้แทน คือให้แสดง รหัสสินค้าที่ 0002 -0007

ไม่ทราบว่าใช้ NOT ได้หรือเปล่าครับ
รบกวนลองเขียนคำสั่งให้ดูหน่อยนะครับ
ขอบพระคุณอย่างสูงครับ

2 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R02241
ลองใช้ <> แทน = ดูครับ

...
WHERE (((orders.status)<>"ยังไม่ส่งสินค้า"));


2 @R02250
ผมลองโค้ดใหม่นี้แล้วครับ แต่ติดอยู่นิดนึง ว่าจะเอาส่วน orders.status 'ยังไม่ส่งสินค้า' มาเชื่อมอย่างไรครับ

select *
from product INNER JOIN brand ON product.brand_id = brand.brand_id
where NOT EXISTS(select distinct orders_detail.p_id from orders_detail,orders where orders_detail.p_id = product.p_id )

ในตาราง orders มี order_id กับ status
ในตาราง orders_detail มี order_id , p_id
ผมยังมองไม่เห็นเลยครับว่าจะเอามาเชื่อมกันอย่างไร
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0778s