2016-12-05 46 views
0

我正在創建以下表格。表的最後一列扭曲查詢結果

CREATE TABLE Person (
Case_Number VARCHAR(50) Primary Key, 
Sex VARCHAR(10) 
); 

CREATE TABLE ourCases (
Case_Number VARCHAR(50) Primary Key, 
Rage VARCHAR(30), 
Activity VARCHAR(30), 
Fatal VARCHAR(10) 
); 

CREATE TABLE Area_Time (
Case_Number VARCHAR(50) Primary Key, 
ourYear int, 
ourTime VARCHAR(20), 
Area VARCHAR(50) 
); 

和我所有的querys工作,除了當我一旦包括每個表的最後一欄,這將是「區域」,「致命」和「性別」,我包括我的那些數等於0 ,儘管它不應該是因爲我可以在.csv表格中看到它。

查詢我使用

SELECT 
COUNT(*) 
FROM 
area_time, 
ourcases, 
person 
WHERE 
area_time.Case_Number = ourcases.Case_Number 
AND 
area_time.Case_Number = person.Case_Number 
AND 
person.Case_Number = ourcases.Case_Number 
AND 
ourYear = 2016 
AND 
ourTime = "Afternoon" 
AND 
Area = "Florida"; 

當我把「面積=‘佛羅里達’,」部分它的工作原理相應。 我在我的Java應用程序和mySQL工作臺中嘗試了這些查詢,但都無效。我根本看不出數據有什麼問題。 .csv導入也沒有問題。我錯過了什麼?

+1

你嘗試添加和標識符與類似如下這三個領域。 'area_time.ourYear = 2016 AND area_time.ourTime ='Afternoon'' 'AND area_time.Area ='Florida'' 如果它不起作用,您可以嘗試轉儲這三張表的數據並在此處發表評論。 – noodlesegg

+0

之前試過標識符,顯然沒有幫助。 [這裏是我使用的數據](https://mega.nz/#!Hp5XTbTQ!qU1h3wiRqllGo28I_siaiOGv67fbU355fMLMDWjF9e0) –

回答

1

PTI我試過這個,不能重現你的錯誤,你有沒有更多的例子?

這裏是我的查詢:

SELECT 
    area_time.Area, 
    ourcases.Fatal, 
    person.Sex 
FROM 
    area_time, 
    ourcases, 
    person 
WHERE 
    area_time.Case_Number = ourcases.Case_Number 
     AND area_time.Case_Number = person.Case_Number 
     AND person.Case_Number = ourcases.Case_Number 
     AND ourYear = 2016 
     AND ourTime = 'Afternoon' 
     AND Area = 'Florida'; 

而且結果:

enter image description here

高興能有另一個去,如果我能夠重現問題。

問候,

詹姆斯

+0

首先感謝您花時間嘗試一下。複製了您的確切查詢,但結果我什麼都沒有。 [這是一個picutre。](http://imgur.com/a/5eQMR) –

+1

不用擔心,我在這裏抓住了一些吸管,但字符編碼已經改變了字符?如果你只是'SELECT *'並且手工找到這些值,'Florida'條目是什麼樣的?它們是否與你在Excel或類似軟件中使用EXACT()進行比較時的想法相同? –

+0

啊,現在我還沒有使用EXACT()函數,但是當我複製條目的結果不是'佛羅里達',因爲我期望它是,但它是'佛羅里達\ r'。它對於「性別」,「致命」和「區域」('Florida \ r','No \ r','Male \ r')的相應條目也是如此。如果我調整查詢來搜索「佛羅里達州\ r」,它會按照順序運行。所以tyvm!但爲什麼呢? –