2012-02-15 109 views
0

我試圖從shell中運行以下命令:sqlte3錯誤沒有這樣的列

sqlite3 salesShare1.db " 
select 
    UsersSale.saleSpecificProduct, 
    UsersSale.fAtMall, 
    Users.name, 
    Users.gender, 
    Stores.storeName 
FROM 
    UsersSale 
    INNER JOIN (Users INNER JOIN Stores ON Users.userID = UsersSale.userID) ON 
     Stores.storeID = UsersSale.saleStoreID 
ORDER BY UsersSale.saleID"; 

Error: no such column: Users.name

我創建了所有的表和列。

sqlite3 salesShare1.db "select * FROM Users "; 
1|hezi|0||| 

'貉子' 是Users.name

我在做什麼錯?

+0

你的創建語句在哪裏(或者執行這個命令'select * from sqlite_master')? – Nix 2012-02-15 16:07:39

回答

2

嘗試請

select us.saleSpecificProduct, 
    us.fAtMall,u.name, 
    u.gender,st.storeName 
    from UsersSale us,Users u,Stores st 
    where u.userID=us.userID and st.storeID=us.saleStoreID 
    order by us.saleID 

select us.saleSpecificProduct, 
    us.fAtMall,u.name, 
    u.gender,st.storeName 
    from UsersSale us 
    inner join Users u 
    on u.userID=us.userID 
    inner join Stores st 
    on st.storeID=us.saleStoreID 
    order by us.saleID 

希望它有助於

0

你的內部連接有點囉嗦。

瞎猜,但我的猜測是,你需要在用戶表中加入:

select 
    us.saleSpecificProduct, 
    us.fAtMall, 
    u.name, 
    u.gender, 
    s.storeName 
FROM 
    UsersSale us 
    INNER JOIN Users u ON u.userID = us.userID 
    INNER JOIN Stores s ON s.storeID = us.saleStoreID 

ORDER BY us.saleID 
0

在sqlite3工具中顯示您的表的架構並確認您的列名稱是您認爲它的名稱。也許你錯誤地輸入了名字。