Table 加入引用相同的主键 T-SQL
Table Join Referencing Same Primary Key T-SQL
让一个引用相同 Primary Key
的 Table
为它的 Foreign Key
的倍数赋值是否有效? IE。 :
Table 菜单
ItemID(PK) DishName Category
1 Fried Chicken Poultry
2 Salmon Fish
3 Spaghetti Pasta
4 Steak Beef
5 Roasted Cod Fish
6 Baked Halibut Fish
7 Maple Duck Poultry
Table [TableOrder]
其中 OrderItem#
指的是 Menu
table.
的主键
PartyID OrderItem1(FK) OrderItem2(FK) OrderItem3(FK)
1 3 2 5
2 7 1 2
3 2 5 6
4 4 4 2
5 6 3 2
是否有可能(你怎么可能)return 一个 query
列出这样的类别? (其中 Order#Cat
是 Menu
table 中的 alias
到 Category
使用(内部)Join
)
PartyID Order1Cat Order2Cat Order3Cat
1 Pasta Fish Fish
2 Poultry Poultry Fish
3 Fish Fish Fish
4 Beef Beef Fish
5 Fish Pasta Fish
如
SELECT
[Table Order].PartyID, [Table Order].OrderItem1,
[TableOrder].OrderItem2, [Table Order].OrderItem3,
Menu.Category
FROM
[Table Order]
INNER JOIN
Menu ON [Table Order].OrderItem1 = Menu.ItemID
...
(alias ?)...
(subquery ?)...
如果不是,请建议可以产生类似结果的替代结构。感谢您的宝贵时间。
尝试:
SELECT tblo.PartyID,
tm1.Category Order1Cat,
tm2.Category Order2Cat,
tm3.Category Order3Cat
FROM [Table Order] tblo
INNER JOIN [Table Menu] tm1
ON tblo.OrderItem1 = tm1.ItemID
INNER JOIN [Table Menu] tm2
ON tblo.OrderItem2 = tm2.ItemID
INNER JOIN [Table Menu] tm3
ON tblo.OrderItem3 = tm3.ItemID
让一个引用相同 Primary Key
的 Table
为它的 Foreign Key
的倍数赋值是否有效? IE。 :
Table 菜单
ItemID(PK) DishName Category
1 Fried Chicken Poultry
2 Salmon Fish
3 Spaghetti Pasta
4 Steak Beef
5 Roasted Cod Fish
6 Baked Halibut Fish
7 Maple Duck Poultry
Table [TableOrder]
其中 OrderItem#
指的是 Menu
table.
PartyID OrderItem1(FK) OrderItem2(FK) OrderItem3(FK)
1 3 2 5
2 7 1 2
3 2 5 6
4 4 4 2
5 6 3 2
是否有可能(你怎么可能)return 一个 query
列出这样的类别? (其中 Order#Cat
是 Menu
table 中的 alias
到 Category
使用(内部)Join
)
PartyID Order1Cat Order2Cat Order3Cat
1 Pasta Fish Fish
2 Poultry Poultry Fish
3 Fish Fish Fish
4 Beef Beef Fish
5 Fish Pasta Fish
如
SELECT
[Table Order].PartyID, [Table Order].OrderItem1,
[TableOrder].OrderItem2, [Table Order].OrderItem3,
Menu.Category
FROM
[Table Order]
INNER JOIN
Menu ON [Table Order].OrderItem1 = Menu.ItemID
...
(alias ?)...
(subquery ?)...
如果不是,请建议可以产生类似结果的替代结构。感谢您的宝贵时间。
尝试:
SELECT tblo.PartyID,
tm1.Category Order1Cat,
tm2.Category Order2Cat,
tm3.Category Order3Cat
FROM [Table Order] tblo
INNER JOIN [Table Menu] tm1
ON tblo.OrderItem1 = tm1.ItemID
INNER JOIN [Table Menu] tm2
ON tblo.OrderItem2 = tm2.ItemID
INNER JOIN [Table Menu] tm3
ON tblo.OrderItem3 = tm3.ItemID