Mysql
 sql >> база данни >  >> RDS >> Mysql

Как проверявате за съвпадаща стойност в третата колона въз основа на различни комбинации от други две колони?

Можете да групирате по сграда, местоположение за редовете където има обект в ('WALL', 'WINDOW') :

избор на сграда, местоположение, действие 'FLAG' от име на таблица, където обект в ('WALL', 'WINDOW') група по сграда, местоположение с брой (отделен обект) <2 

Условието count(distinct object) <2 в имащ клауза връща комбинация от сграда, местоположение където 'WALL' и 'WINDOW' не съществуват и двете.
Вижте демонстрацията .
Резултати:

<предварителен код>| сграда | местоположение | действие || -------- | -------- | ------ || A | ЕТАЖ2 | ЗНАМЕ || B | ЕТАЖ1 | ФЛАГ |

Или с NOT EXISTS:

изберете t.building, t.location, действие 'FLAG' от име на таблица tкъдето обектът е в ('WALL', 'WINDOW') и не съществува ( изберете 1 от име на таблица, където building =t.building и местоположение =t .локация и обект <> t.object) 

Вижте демонстрацията .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Отрязване на таблица в транзакция?

  2. Искате да извлечете данни от база данни въз основа на избор от падащ списък с помощта на php

  3. mysql се задавя с определени знаци, а mssql не

  4. virtualenv, който може да намери преместени библиотеки (като mysqlclient lib за MySQLdb)

  5. Постоянство на PHP MySQL връзката