-1

我正在编写一个 select 语句来获取一些我感兴趣的记录,但是该OR语句应该排在最后,并且应该在那里改善指定的其他条件。

例如在这个声明中

select * from the_temp where the_temp_club_id = 1 OR 2 OR 3 OR 4 AND the_temp_membership_year=2000 AND the_temp_name='one';

显示所有记录the_temp_club_idthe_temp_club_id = 1 OR 2 OR 3 OR 4但不应该这样。相反,我希望选择向我显示所有记录的位置the_temp_name = onethe_temp_membership_year=2000并且还显示the_temp_club_id.

select 语句应该显示所有记录,其中the_temp_name = one只有和其他条件应该是次要的。

4

4 回答 4

2

你可以用IN 得更好OR

   where the_temp_club_id in ( 1,2,3,4)
   AND the_temp_membership_year=2000 AND the_temp_name='one'
于 2013-08-03T10:30:47.123 回答
2

这是工作示例

SELECT * FROM THE_TEMP 
  WHERE THE_TEMP_CLUB_ID IN (1, 2, 3,4)
  AND THE_TEMP_MEMBERSHIP_YEAR = 2000 
  AND THE_TEMP_NAME = 'one';
于 2013-08-03T10:31:41.693 回答
2

select 语句应该只显示 the_temp_name = one 的所有记录,其他条件应该是次要的。

因此,您要选择所有记录在哪里the_temp_name = one或具有其他条件的记录。您可能正在寻找这个:

SELECT * FROM the_temp 
WHERE the_temp_name='one'
OR
(
  the_temp_club_id IN (1,2,3,4)
  AND
  the_temp_membership_year=2000
)
于 2013-08-03T10:32:21.050 回答
0
select * from the_temp where (the_temp_club_id = 1 OR the_temp_club_id = 2 OR the_temp_club_id= 3 OR the_temp_club_id = 4) AND the_temp_membership_year=2000 AND the_temp_name='one';

尝试这个

于 2013-08-03T10:30:56.483 回答