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

Hướng dẫn tự tham gia # 10 trên sqlzoo

Giải pháp của tôi cho vấn đề này:Tôi chia vấn đề thành hai.

Bây giờ cả bảng S và E sẽ có các tuyến đường chung và tôi nhận được tất cả các tuyến đường chung này bằng cách tham gia các truy vấn con, sử dụng id của mỗi bảng. E.num, E.company) tôi đã sử dụng DISTINCT.

SELECT DISTINCT S.num, S.company, stops.name, E.num, E.company
FROM
(SELECT a.company, a.num, b.stop
 FROM route a JOIN route b ON (a.company=b.company AND a.num=b.num)
 WHERE a.stop=(SELECT id FROM stops WHERE name= 'Craiglockhart')
)S
  JOIN
(SELECT a.company, a.num, b.stop
 FROM route a JOIN route b ON (a.company=b.company AND a.num=b.num)
 WHERE a.stop=(SELECT id FROM stops WHERE name= 'Sighthill')
)E
ON (S.stop = E.stop)
JOIN stops ON(stops.id = S.stop)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cú pháp cho các tham số đầu vào trong một truy vấn MySQL

  2. Mối quan hệ lồng nhau trong Laravel

  3. Cách an toàn nhất để thêm html / css / js vào mysql là gì?

  4. Định dạng một số dưới dạng phần trăm trong MySQL

  5. Không thể kết nối với cơ sở dữ liệu sau một số lần triển khai trên máy chủ