我有三张表如下:
产品:
-----------------------------------------------------
| itemID | itemName | categoryID | sellerID |
-----------------------------------------------------
| 1 | item1 | c1 | s1 |
| 2 | item2 | c1 | s2 |
| 3 | item3 | c3 | s2 |
| 4 | item4 | c2 | s3 |
-----------------------------------------------------
分类
---------------------------------
| categoryID | categoryName |
---------------------------------
| c1 | category1 |
| c2 | category2 |
| c3 | category3 |
---------------------------------
卖家:
-----------------------------
| sellerID | sellerName |
-----------------------------
| s1 | seller1 |
| s2 | seller2 |
| s3 | seller3 |
-----------------------------
我想从 Items
表中选择其中categoryID为 c1
的项目,并按以下方式显示:
----------------------------------------------
| itemName | categoryName | sellerName |
----------------------------------------------
| item1 | category1 | seller1 |
| item2 | category1 | seller2 |
----------------------------------------------
我无法弄明白该怎么做。请帮助我。
答案 0 :(得分:3)
查看JOIN
:
SELECT i.itemName, c.categoryName, s.sellerName
FROM Items i
JOIN Categories c
ON c.id = i.categoryID
JOIN Seller s
ON s.id = i.sellerID
WHERE i.categoryID = 'c1'
答案 1 :(得分:0)
这样的事情:
select items.itemName, categories.categoryName, seller.sellerName
from items
join categories on items.categoryId = categories.categoryId
join seller on items.sellerId = seller.sellerId
where categories.categoryId = ?
答案 2 :(得分:0)
SELECT itemName, categories.categoryName, seller.sellerName
FROM items
INNER JOIN categories ON items.categoryID = categories.categoryID
INNER JOIN seller ON items.sellerID = seller.sellerID
WHERE items.categoryID = 'c1'
答案 3 :(得分:0)
试试这个:
$strSql = 'SELECT a.`itemName`,b.`categoryName`,c.`sellerName` FROM `Items` a INNER JOIN `Categories` b ON a.`categoryID` = b.`categoryID`
INNER JOIN `Seller` c ON a.`sellerID` = c.`sellerID` WHERE a.`categoryID` = "c1" ';
答案 4 :(得分:0)
这只是创建正确连接的问题。在这种情况下,您需要将表附加到两个不同的东西。语法应如下所示:
$stmt = 'SELECT a.itemName,b.categoryName,c.sellerName FROM `[itemsTable]`
inner join a on b.categoryID = a.categoryID
inner join a on c.sellerID = a.sellerID';