我正在学习C#和一些SQL服务器,现在我正在尝试从我的小型数据库中获取信息。
我有两个表:Movie
和MovieHandler
。
在表格Movie中,我有MovieCodeLable
,这是一个唯一的号码,以及电影的Title
。
在MovieHandler表格中,我有MovieCodeLable
,这与我的电影表中的相同,而且我还有她的列InStore
,它是0或1,因为它不存储或存在存储。
我正在尝试显示不在商店中的电影的标题。但我发现很难弄清楚如何加入表格。
我试过这个SQL查询:
SELECT Title
FROM Movie
JOIN MovieCodeLable
ON MovieHandler.MovieCodeLable
WHERE InStore = 0
由于我只是在Visual Studio 2012中尝试此查询时遇到错误,我可能错过了一些基于SQL和JOINS的基础知识,但我希望有些人能够使JOINS顺利成为我和其他人的黄油,并且学习它。 / p>
答案 0 :(得分:6)
你的JOIN错了,你的ON条款不完整。 JOIN应该包含您要加入的2个表的名称,在本例中是Movie和MovieHandler ON应该是格式A = B的表达式。所以您的查询应该是:
SELECT Title
FROM Movie
JOIN MovieHandler
ON Movie.MovieCodeLable = MovieHandler.MovieCodeLable
WHERE InStore = 0
答案 1 :(得分:2)
您需要指定两个JOIN字段
SELECT Title
FROM Movie
JOIN MovieHandler
ON Movie.MovieCodeLable = MovieHandler.MovieCodeLable
WHERE InStore = 0
答案 2 :(得分:1)
你必须像这样进行查询
SELECT Title
FROM Movie
JOIN MovieHandler
ON Movie.MovieCodeLable = MovieHandler.MovieCodeLable
WHERE InStore = 0
您必须完成ON条件。您需要在ON条件后指定要匹配的列。转到此链接有表http://www.w3schools.com/sql/sql_join.asp的解释
答案 3 :(得分:0)
我在oracle中这样做。不确定它是否适合你...
尝试:
Select Mv.Title
,other_columns
from Movie Mv
,MovieHandler Mvh
Where Mv.MovieCodeLable = Mvh.MovieCodeLable
and (whatever other criteria you want
只要MovieCodeLable是唯一的,你就可以了
Other_columns可以是带有table.column语法的表格格式的任何列(我使用表格快捷键Mv和Mvh来引用表格,我不知道这对非oracle是否合法)