我需要在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_ID
为1
时,我想要返回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}}
不确定从哪里开始所以一直在努力弄清楚自己
答案 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';