好的所以我正在尝试,很难找到替代方法来完成相同的任务,我知道很多人会去,“为什么要改变它们,它们很好” ..作为一名初学SQL程序员,我想探索比目前更冒险的途径。
第一个查询应该找到表A中包含的所有A.names的列表,没有重复,其中包含B.color'Green'。
SELECT A.Name
FROM A
INNER JOIN B
ON B.AID = A.AID
WHERE B.Color = 'Green'
GROUP BY A.AID
第二个查询应找到表B中所有元素的A.Names,B.Types和B.Colors列表,其中B.Price小于12.00。
SELECT A.Name, B.Types, B.Colors
FROM B
INNER JOIN A
ON A.AID = B.AID
WHERE B.Price < '12.99'
GROUP BY A.AID
我在PHPMyAdmin中使用MySQL
〜感谢
-Edit-表A包含A.AID和A.Name,表B包含B.ID,B.AID,B.Type,B.Color&amp; B.Price
对于我可能造成的任何混淆感到抱歉
答案 0 :(得分:1)
第一次查询
SELECT DISTINCT A.AID, A.Name
FROM A
INNER JOIN B
ON B.AID = A.AID
AND B.Color = 'Green'
第二次查询
SELECT A1.Name, B.Types, B.Colors
FROM B
INNER JOIN (
SELECT DISTINCT AID, Name
FROM A
) A1
ON A1.AID = B.AID
WHERE B.Price < 12.99