【发布时间】:2013-12-09 13:35:55
【问题描述】:
好吧,我不知道怎么问这个问题,所以我将发布查询,看看是否有人可以帮助解决这个问题。 如果有帮助,我正在使用 Access。我会发布表格,但我不知道如何发布,所以如果有人可以解释如何做,我也会发布这些表格。
SELECT Pokemon.SpeciesID, Pokemon.FormID, SpeciesName,
Type.TypeName AS Type1 WHERE Type.TypeID = SpeciesType.TypeID AND SpeciesType.IsPrimaryType IS true,
Type.TypeName AS Type2 WHERE Type.TypeID = SpeciesType.TypeID AND SpeciesType.IsPrimaryType IS false,
FROM Pokemon, Type, SpeciesType;
我知道这是错误的,我需要 FROM 之后的 WHERE 部分,但我不知道如何使它工作。
是的,我必须选择两次类型,从字面上看,没有办法我不必这样做。有一个多对多连接表(不知道叫什么),它具有 TypeID、SpeciesID 以及该行是否是该物种的主要类型的指示符。我需要在一个查询中选择那些为真和那些为假的。
(这与学校项目有关。)
编辑:由于没有人解释如何发布表格,这里是关系的屏幕截图,经过修改以突出显示相关的内容。 https://dl.dropboxusercontent.com/u/28505565/bluh/school/relationships.png IsPrimaryType 是一个是/否列。我需要选择 Yes 作为 Type1 和 No 作为 Type2。
【问题讨论】:
-
请放置表格并说明您需要从中获得什么。谢谢
-
嗯...好吧,我该如何格式化才能放在这里?这是在 Access 中完成的,而不是在 MySQL 中,因此这些表没有对应的 SQL。
-
在 FORM 语句中使用
Table1, Table2, ...连接表不是一个好主意。改用 JOIN -
好吧,我只是很笨,不知道我在做什么,显然。您如何同时对所有这些使用连接,而不会导致声明混乱?
-
如果您使用访问和不确定 sql ,使用向导会更容易吗?