所以我有3张桌子:
"销售" (使用"条形码"列等),
"产品" (使用"条形码"和" image_id"列等)和
我的输入数据是"条形码"中的12位数字。 " Sales"表。
首先,我需要找到这个条形码对应的image_id(通过使用Products表的内连接):
SELECT image_id
FROM tbl_products
INNER JOIN tbl_sales
ON tbl_products.barcode = tbl_sales.barcode
现在,我需要选择" image_data"来自"图像"的列通过某种方式内联表上面的选择结果和"图像" image_id列上的表格。
如何在1个查询中执行此操作(如果可以的话)?
答案 0 :(得分:1)
像
这样的东西SELECT tbl_images.image_id, tbl_images.image_data
FROM tbl_sales
INNER JOIN tbl_products
ON tbl_products.barcode = tbl_sales.barcode
inner join tbl_images
ON tbl_images.image_id = tbl_products.image_id
Where tbl_sales.BarCode = '0123456789AB'
将连接链接在一起。注意,您也可以使用别名
SELECT i.image_id, i.image_data
FROM tbl_sales s
INNER JOIN tbl_products p
ON p.barcode = s.barcode
inner join tbl_images i
ON i.image_id = p.image_id
Where s.BarCode = '0123456789AB'
也会起作用并且更具可读性。
答案 1 :(得分:0)
您可以在一个查询中连接多个表。当您连接2个表时,语法是相同的。您也可以混合连接类型:
示例强>
SELECT
* -- Change it to the required field list!
FROM
Table1 T1
INNER JOIN Table2 T2
ON T1.col1 = T2.col2
INNER JOIN Table3 T3
ON T2.col3 = T3.col4
LEFT JOIN Table4 T4
ON T1.col5 = T4.col6 AND T2.col7 = T3.col8
一些提示:始终对连接的表使用别名,并在查询中的任何位置使用任何列时使用这些别名。