复杂的条件SQL查询

时间:2010-06-15 23:43:35

标签: ms-access mysql

我甚至不确定它是否可行,但我需要它用于我的Access数据库。所以我有以下数据库结构:

alt text http://images.virtualdesign.pl/images/25480Drawing1.jpg

现在我需要执行一个从我的产品中获取category_id并执行魔术的查询:
- 假设产品属于控制台(category_id在表控制台中)
- 从console_types开始type_id,其中category_id == category_id
- 但如果产品属于console_gamecategory_id位于表console_game)中 - 来自console_game game_cat_idcategory_id == category_id

我不确定mysql是否能够做到这一点。如果不是我真的有问题。也许有办法将其分成2,3个单独的查询?

编辑:

我找到了类似IF EXISTS (SELECT type_id FROM console WHERE category_id='category_id')的内容。也许这会有所帮助?

2 个答案:

答案 0 :(得分:0)

您需要使用case语句来执行以下选择:

Select Case (expression)
Case option1
    statement1
Case option2
    statement2

Example Access case statement

Case语句在MySql,Sql Server等中有效。(语法因实现而异)。

答案 1 :(得分:0)

您可以通过执行三个子查询来解决此问题,并使用UNION ALL来合并它们。