在两个表中进行SQL查询

时间:2008-12-31 17:20:12

标签: python sql

我想知道,是否可以创建一个与其功能相同的SQL查询 'select products where barcode in table1 = barcode in table2”。我在python程序中编写此函数。调用该函数后,表是永久连接还是仅在该函数运行时连接? 谢谢。

6 个答案:

答案 0 :(得分:10)

SELECT t1.products
FROM [Table1] t1
INNER JOIN [Table2] t2 ON t2.barcode = t1.barcode

答案 1 :(得分:7)

我想你想加入两个表:

http://www.w3schools.com/Sql/sql_join.asp

答案 2 :(得分:1)

类似的东西:

SELECT * FROM table1 WHERE barcode IN (SELECT barcode FROM table2)

这就是你要找的东西吗?

答案 3 :(得分:0)

SELECT table1.*, table2.* FROM table1 left join table2 on table1.barcode = table2.barcode

答案 4 :(得分:0)

以下是基于两个表中的公共字段连接两个表的示例。

SELECT table1.Products FROM table1 table1.barcode = table2.barcode上的INNER JOIN table2 table1.Products不为null

答案 5 :(得分:0)

这是基于对象角色建模在这些情况下通过表格设计进行讨论的方法。 (是的,我意识到这只与问题间接相关。)

您有产品和条形码。产品由产品代码唯一标识(例如'A2111';条形码由价值唯一标识(例如1002155061)。

产品有条形码。问题:产品可以没有条形码吗?同一产品可以有多个条形码吗?多个产品可以使用相同的条形码吗? (如果您对UPC标签有任何经验,您知道所有这些标志的答案都是正确的。)

所以你可以做一些断言:

产品(代码)具有零个或多个条形码(值) 条形码(值)具有一个或多个产品(代码)。 - 假设:如果条形码不是/不与产品相关,则它们没有独立存在。

直接(通过您的ORM模型)引导到具有两个表的模式:

产品
ProductCode(PK)描述等

ProductBarcode
ProductCode(FK)BarcodeValue
- 使用两部分自然主键,ProductCode + BarcodeValue

然后按照其他答案中的描述将它们绑在一起。

类似的断言可用于确定哪些字段进入设计中的各个表。