[英]Updating a field and selecting multiple fields where a single condition is true? MySQL
[英]SQL Multiple condition on single field
嗨,有人可以幫助我關於SQL
我在表格中有這些數據:
date_added | location | status 2012-08-01 Manila 1 2012-08-01 Japan 1 2012-08-01 Cebu 1 2012-08-04 Manila 1 2012-08-04 Cebu 1 2012-08-04 Africa 1 2012-08-06 Manila 1 2012-08-06 Japan 1 2012-08-06 Cebu 1
如何在“馬尼拉”,“日本”,“宿霧”中獲取date_added結果並且狀態= 1
在我得到日期之前,這三個數據必須存在。
結果應該是:基於此表
date_added 2012-08-01 2012-08-06
因為在2012-08-04'日本'不存在。
我當前的SAMPLE SQL:
SELECT date_added FROM TABLE WHERE location ='Manila' AND location ='Japan' AND location ='Cebu' AND STATUS =1;
請幫助.....任何幫助將不勝感激
試試這個:
SELECT DATE_ADDED
FROM TABLE
WHERE LOCATION IN ('MANILA' , 'JAPAN' , 'CEBU')
AND STATUS =1
GROUP BY DATE_ADDED
HAVING (COUNT(DISTINCT LOCATION)=3)
您需要SQL IN
運算符:
SELECT date_added FROM TABLE WHERE location IN ('Manila', 'Japan', 'Cebu') AND STATUS =1;
或者,您需要使用OR
運算符並括住location語句:
SELECT date_added FROM TABLE WHERE ( location ='Manila' OR location ='Japan' OR location ='Cebu' ) AND STATUS =1;
試試這個
SELECT date_added FROM TABLE WHERE location ='Manila' or location ='Japan' or location ='Cebu' AND STATUS =1;
要么
select date_added FROM TABLE WHERE location in ('Manila','Japan','Cebu') AND status='1' GROUPED BY date_added
WHERE location IN ('Manila' , 'Japan', 'Cebu') AND status = 1
當你在同一個字段上使用AND
條件時,它總是會導致錯誤,因為一個字段只能有1 possible value
。 所以你需要使用IN
SELECT Date_added
FROM myTable
WHERE `Location` IN ('MANILA' , 'JAPAN' , 'CEBU')
AND `Status` =1
GROUP BY Date_added
HAVING COUNT(DISTINCT Location) = 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.