Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để bạn kiểm tra giá trị phù hợp trong cột thứ ba dựa trên các kết hợp riêng biệt của hai cột khác?

Bạn có thể group by building, location cho các hàng where object in ('WALL', 'WINDOW') :

select building, location, 'FLAG' action
from tablename
where object in ('WALL', 'WINDOW')
group by building, location
having count(distinct object) < 2

Điều kiện count(distinct object) < 2 trong having mệnh đề trả về kết hợp của building, location ở đâu 'WALL''WINDOW' không tồn tại cả hai.
Xem bản trình diễn .
Kết quả:

| building | location | action |
| -------- | -------- | ------ |
| A        | FLOOR2   | FLAG   |
| B        | FLOOR1   | FLAG   |

Hoặc với KHÔNG TỒN TẠI:

select t.building, t.location, 'FLAG' action
from tablename t
where object in ('WALL', 'WINDOW')
and not exists (
  select 1 from tablename
  where building = t.building and location = t.location and object <> t.object
)

Xem bản trình diễn .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để đặt các kết quả truy vấn MYSQL THEO điều kiện ORDER BY?

  2. Mysql:Chọn giá trị giữa hai cột

  3. Lưu trữ hình ảnh trong cơ sở dữ liệu mysql

  4. Các cách để tránh các Lệnh của MySQLdb không đồng bộ; bạn không thể chạy lệnh này ngay bây giờ (2014) ngoại lệ

  5. Một cách di động để cung cấp thời gian hồi chiêu dựa trên IP?