我在想这种查询是否可能。如果可能,希望能得到帮助。
SELECT
field1,
field2,
field3
FROM maintable
WHERE maintable.field1 = passed_in_parameter
IF (maintable.field2 = 1) THEN
//do anything like joins
INNER JOIN widgettable on widgettable.widgetid = field3
ELSEIF (maintable.field2 = 2) THEN
//do anything like joins
INNER JOIN gizmottable on gizmottable.gizmoid = field3
END IF
我希望我的需求是有意义的。简而言之,我需要根据原始选择中的字段值,连接不同的表。
LEFT JOIN
将它们连接起来。 - zerkmsINNER JOIN widgettable on widgettable.widgetid = field3 AND maintable.field2 = 1 INNER JOIN gizmottable on gizmottable.gizmoid = field3 AND maintable.field2 = 2
- Salman A