0

我有一个包含这样数据的表: 在此处输入图像描述

您看到的 6s 和 2s 对应于 users 表中的 userID。我的目标是通过一个查询我可以定位 6s 或 2s。我会尽量具体。假设我以 6 为目标 user_Ids,如下所示的查询是我得到 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;

上面的结果是这样的: 在此处输入图像描述

我希望我很清楚。

4

1 回答 1

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
于 2013-09-11T10:44:40.507 回答