繁体   English   中英

检查一个表的ID是否用作另一个表的外键

[英]Check if the ID of one table is used as a foreign key in another

我有一个具有两个表的mysql数据库:

游戏(ID,名称)

门票(ID,GameID,部分...)

Game.ID是GAME中的主键,GameID在TICKET表中用作外键,以了解它属于哪个游戏。

我有sql语句:

选择*从游戏订购日期

它从GAME表返回所有游戏记录。 我想要一个sql语句,如果在TICKET表中有至少1条记录用作外键,则该语句仅返回游戏记录,因此只给我有票证的游戏。

我尝试将表连接在一起并以这种方式进行检查,但是我的sql尚不存在。

预先感谢您可以给我的任何帮助。

SELECT * FROM GAME
JOIN TICKET ON GAME.ID = TICKET.GameID
GROUP BY Game.ID
ORDER BY Date
select * from game g inner join ticket t on g.id = t.game_id

每张票将返回一行(一场比赛的5张票将在此处变成5行)...使用“内部联接”作为过滤器。

我怀疑您正在寻找更像的东西

Select * from game where id in (select game_id from ticket group by game_id)

无论门票数量多少,这将使您每场比赛获得一排。

让我们看上

SELECT * FROM GAME G
WHERE EXISTS
    (
    SELECT 1
    FROM TICKET T
    WHERE G.ID = T.GameID
    )
SELECT * FROM GAME ,TICKET   where TICKET.GameID  = GAME.ID ORDER BY Date  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM