Professional Documents
Culture Documents
U.I.D.: 3035188033
1.
b)
SELECT Customer.user_id,AppUser.name FROM Customer,AppUser
WHERE Customer.user_id=AppUser.user_id
c)
SELECT AppUser.name,group_concat(CustomerPhone.phone SEPARATOR",") as
'phone numbers', PrintOrder.order_id
FROM AppUser
INNER JOIN PrintOrder
ON AppUser.user_id=PrintOrder.user_id
INNER JOIN CustomerPhone
ON AppUser.user_id=CustomerPhone.user_id
WHERE PrintOrder.status like "%New%"
GROUP BY name, order_id;
d)
SELECT
Item.item_id,Item.quantity,Product.description,(Product.price*Item.quan
tity) AS 'subtotal'
FROM Item,Product
WHERE Item.product_id=Product.product_id AND Item.order_id=3
e)
SELECT PrintOrder.order_id, PrintOrder.status, COUNT(Item.item_id) AS
'sum of quantity', SUM(Item.quantity*Product.price) AS
'total amount'
FROM PrintOrder
INNER JOIN Item
ON PrintOrder.order_id=Item.order_id
INNER JOIN Product
ON Item.product_id=Product.product_id
WHERE PrintOrder.user_id=5
GROUP BY order_id;
f)
SELECT AppUser.name
FROM AppUser
RIGHT OUTER JOIN Customer
on AppUser.user_id = Customer.user_id
RIGHT OUTER JOIN Admin
on AppUser.user_id = Admin.user_id
Therefore, the names of all users that is a customer and an admin user is Gebhard Nasato,
Sunitha Aslan and Adsila Fields.
g)
SELECT a.user_id
FROM Admin AS a
LEFT OUTER JOIN Admin AS b
ON a.user_id=b.supervisor_id
WHERE b.user_id IS NULL
ORDER BY user_id;
h)
SELECT Album.album_id, Album.name, COUNT(Image.image_id) AS number
FROM Album
INNER JOIN Admin
ON Album.user_id=Admin.user_id
LEFT JOIN Image
ON Album.album_id=Image.album_id
GROUP BY Album.album_id, Album.name
ORDER BY number DESC, Album.creation_date DESC;
i)
SELECT Image.album_id, Image.image_id, COUNT(DISTINCT Item.order_id) AS
number
FROM Image
LEFT JOIN Item
ON Image.album_id=Item.album_id
AND Image.image_id=Item.image_id
WHERE Image.album_id=1
GROUP BY Image.album_id, Image.image_id;
j)
SELECT AppUser.name, COUNT(Item.item_id) as number
FROM Item
INNER JOIN PrintOrder
ON Item.order_id=PrintOrder.order_id
INNER JOIN AppUser
ON PrintOrder.user_id=AppUser.user_id
GROUP BY Item.order_id
HAVING number=(SELECT MAX(number) FROM (SELECT COUNT(item_id) AS number
FROM Item GROUP BY order_id)t)
ORDER BY number DESC, name;