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

Truy vấn MYSQL VÀ để đáp ứng trên cùng một cột

Bởi vì stop_id không được là hai giá trị khác nhau trong cùng một hàng.

Tổng hợp là một cách để thực hiện những gì bạn muốn:

SELECT b.bus_name
FROM buses b JOIN
     route_connect rc
     ON rc.busid = b.id JOIN
     stops s
     ON s.id = rc.stop_id
GROUP BY b.bus_name
HAVING SUM( s.stop_name = 'Sydney' ) > 0 AND
       SUM( s.stop_name = 'Melbourne' ) > 0;

Thao tác này trả về các xe buýt có điểm dừng với tên của cả hai thành phố.

Do xe buýt có thể có nhiều điểm dừng, nên làm như sau:

SELECT b.bus_name
FROM buses b JOIN
     route_connect rc
     ON rc.busid = b.id JOIN
     stops s
     ON s.id = rc.stop_id
WHERE s.stop_name in ('Sydney', 'Melbourne')
GROUP BY b.bus_name
HAVING COUNT(DISTINCT s.stop_name) = 2;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng php filter_var với mysql_real_escape_string

  2. Cách trả về danh sách các bộ ký tự có sẵn trong MySQL

  3. php:đảo ngược tác động của mysql_real_escape_string trên hệ nhị phân

  4. MySQL trên bản cập nhật khóa trùng lặp

  5. Truy vấn MySQL để đếm các tên miền duy nhất từ ​​trường Địa chỉ email