连接SQL数据库中的表

时间:2014-01-11 11:55:22

标签: mysql sql

如何在SQL中连接表来修改此查询?它正在绞尽脑汁

我正在尝试运行三个SQL表。在我的第一篇文章中,两个SQL查询工作得很完美。但它们适用于所有产品。我只需将这些分配给两个部分ID。

脚本

INSERT ProductCustomerLevel (
    ProductID,
    CustomerLevelID
)
SELECT ProductID,
       CustomerLevel
FROM dbo.Product p
CROSS JOIN (
    SELECT 5 AS CustomerLevel
    UNION ALL
    SELECT 7
) c

这会将所有ProductID值映射到客户级别5& 7.我想在这里做的只是将所有产品映射到SectionID的5345和5346.这些部分ID保存在一个名为Sections的表中。还有另一个名为ProuductSection的表。 ProductID的值在Product.dbo和ProductSection.dbo中。

在ProductSection中,字段是ProdcutID,SectionID所以我需要将这些sectionid链接到上面的查询

1 个答案:

答案 0 :(得分:1)

这个选择5345&部分中的所有产品ID。 5346

SELECT p.ProductID FROM dbo.Product p
INNER JOIN dbo.ProuductSection ps ON (p.ProductID = ps.ProductID)
WHERE ps.SectionID IN (5345, 5346)
编辑:顺便说一下,这太奇怪了......

SELECT ProductID,
       CustomerLevel
FROM dbo.Product p
CROSS JOIN (
    SELECT 5 AS CustomerLevel
    UNION ALL
    SELECT 7
) c

你不应该这样做。试试我的方式