使用正确的查询来执行正确的字段定位

时间:2013-09-11 09:16:44

标签: mysql sql

我有一个包含这样数据的表格: enter image description here

您看到的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;

以上结果如下: enter image description here

我希望我很清楚。

1 个答案:

答案 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