我有一个包含这样数据的表格:
您看到的6s和2s对应于users表中的userID。 我的目标是通过单个查询,我可以定位6s或2s。 我会尽量具体。假设我将user_Ids定位为6,查询类似于下面的查询,我得到的结果是2行,在这两行中你可以找到6行:
select appointments.Bookfrom,appointments.Bookedfor
from appointments,users
where users.email='email'
and (appointments.Bookfrom=users.user_ID
or appointments.Bookedfor=users.user_ID);
我想要的是将第6行放在一行中...意味着只返回一行,其中每列中有6行。 到目前为止,我可以通过2个选择语句实现这一点,但我不能只使用一个。这些语句中的一个会给我我想要的但是对于一列:
select appointments.Bookedfor
from appointments,users
where users.email='papageorgiou40@hotmail.com'
and users.user_ID=appointments.Bookedfor;
以上结果如下:
我希望我很清楚。
答案 0 :(得分:1)
我认为以下工作有效,它比较了两个字段,最好使用JOINS:
SELECT * FROM appointments INNER JOIN users user_editor ON appointments.bookeditor = user_editor.user_ID INNER JOIN users user_from ON appointments.bookfrom = user_from.user_ID WHERE STRCMP(bookfrom, bookeditor) = 1