所以我有以下两个sql语句,我想组合成一个。
SELECT `client_id` FROM `accommodation` WHERE `checkin` >= from AND `checkout` <= to
SELECT `client_id` FROM `conference` WHERE `checkin` >= from AND `checkout` <= to
所以基本上两个sql语句根据签入和签出日期从两个表中获取数据。
将两个语句组合在一起以获得满足条件的所有client_id的最佳方法是什么
答案 0 :(得分:1)
据推测,通过“符合标准”,您的意思是满足两个条件。这表明join
。所以试试这个:
SELECT a.`client_id`
FROM `accommodation` a join
conference c
on a.client_id = c.client_id
WHERE a.checkin >= from AND a.checkout <= to and
c.checkin >= from AND c.checkout <= to;
当然,应避免使用from
等保留字作为列名或变量名。如果你觉得必须使用它,一定要逃避它。