比较mySQL中的多个列

时间:2013-06-09 14:19:13

标签: mysql sql

我需要在mysql WHERE语句中比较两个不同的列。在我创建的视图中,我有一个名为E_ID的列和一个名为event的列。在SELECT = E_ID时,我需要$E_ID!= event的视图$event

因此,如果$event = status且$E_ID = 1,则语句将选择任何未获得相同事件且相同E_ID的内容,但它可以返回具有相同E_ID的数据。 1}}和另一个事件。

好的,我们举一些例子。让我说我把它作为我的两个变量:

$E_ID = '1';
$event = 'status';

好的,现在在表中就是这个;

E_ID    event

1       status
2       status
3       status
1       gig
3       track
5       gig

尽管如此,第一行包含变量中的数据集,因此我们不想返回该变量。但问题出在E_ID,因为如果事件不同,它们可以是相同的。因此,当E_ID1时,我想要返回event status E_ID event 2 status 3 status 1 gig 3 track 5 gig 的所有内容。但它可以返回相同E_ID和相同事件的数据。

应该归还的是什么;

SELECT * FROM stream_view WHERE E_ID != '$E_ID'

您可以看到返回的所有内容,但是变量中包含数据的行。

到目前为止我的查询。

{{1}}

不确定从哪里开始所以一直在努力弄清楚自己

3 个答案:

答案 0 :(得分:0)

你是说这个意思吗?

SELECT * FROM stream_view WHERE E_ID != '$E_ID' AND event = '$event'

答案 1 :(得分:0)

我认为您可以将这两个条件放在WHERE条款中

SELECT * FROM stream_view WHERE E_ID != '$E_ID' and event = '$event'

答案 2 :(得分:0)

我认为OP对此更感兴趣:

SELECT * FROM 
stream_view 
WHERE (event = '$event' 
AND E_ID <> '$E_ID') 
OR  event<> '$event';