我有一张 table :
ID APARTMENT_ID CHECK_IN CEHCK_OUT
1 2 2014-18-07 2014-18-09
2 2 2015-01-01 2014-03-02
3 3 2014-08-01 2014-09-01
4 3 2014-09-01 2014-12-09
5 4 2014-18-07 2014-18-09
我想获取 ID、APARTMENT_ID
和 CHECK_IN
、 CEHCK_OUT
。不同 ID 中存在同一日期。
在此表上查询将带来结果
APARTMENT_ID => 3
ID => 3, 4
CHECK_IN CEHCK_OUT => 2014-09-01.
我尝试过类似的东西
SELECT * FROM `orders`
WHERE `ID` != `ID` and `CHECK_IN`=`CEHCK_OUT`
但这不是正确的方法,0 结果。 感谢任何可以帮助我的人。
最佳答案
您必须使用自联接,否则您只是比较同一行中的字段:
SELECT *
FROM orders o1
JOIN orders o2 ON o1.id != o2.id AND o1.check_in = o2.check_out
关于MYSQL从不同行选择2个具有相同值的不同字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375820/