Tôi muốn lấy một giá trị từ một bảng thành hai cột khác nhau cho các giá trị khác nhau từ cùng một bảng. Sử dụng truy vấn này làm ví dụ (chú ý cách chọn trên cùng một bảng được đặt bí danh là 2 bảng khác nhau):
SELECT a.myVal, b.myVal
FROM MyTable a, MyTable b
WHERE
a.otherVal = 100 AND
b.otherVal = 200 AND
a.id = b.id
Khi tôi chạy một truy vấn tương đối đơn giản như thế này trên tập dữ liệu của mình, nó hoạt động - nó chỉ mất một thời gian dài. Có cách nào tốt hơn / thông minh hơn để viết truy vấn này không?
SELECT a.column, b.column FROM table AS a, table AS b WHERE a.column=x AND b.column=y
có thể là một cách khác để tránh sử dụngJOIN
(khi không cần thiết).