我有四张桌子。
**Users table** **Books Table** **Dvds Table** Toys Table
use_id boo_id dvd_id toy_id
use_name boo_name dvd_name toy_name
boo_use_id dvd_use_id toy_use_id
我需要从三个表中提取所有行;包含use_id的书籍,DVD和玩具。我需要的每一行都是书/ DVD /玩具的唯一ID。
我的SQL有点生疏,但我想我需要某种加入。
有人可以根据我的问题给我一些方向吗?
答案 0 :(得分:0)
加入他们:
SELECT u.*,
b.boo_id,
d.dvd_id,
t.toy_id
FROM Users u
JOIN Books b
ON(u.use_id = b.boo_use_id)
JOIN DVDs d
ON(u.use_id = d.dvd_use_id)
JOIN Toys t
ON(u.use_id = t.toy_use_id)
答案 1 :(得分:0)
我认为UNION
在这里最有意义:
SELECT boo_id, 'book' AS type
FROM books
WHERE boo_use_id = 1
UNION
SELECT dvd_id, 'dvd'
FROM dvds
WHERE dvd_use_id = 1
UNION
SELECT toy_id, 'toy'
FROM toys
WHERE toy_use_id = 1