如何从不同的表中选择数据?

时间:2016-05-04 15:42:07

标签: mysql select join union

我有这些表格:

ARTICLE,ARTICLE_has_tag,TAG,POST_ARTICLE和USER。

我想从ARTICLE获取所有内容,然后是一个标记的名称(即使它们有多个标记),评论数量和创建它的用户。可能吗? ¿我应该做多个查询吗?

ARTICLE
`ID_ARTICLE` int(11) NOT NULL AUTO_INCREMENT,
  `TITLE_ARTICLE` varchar(45) NOT NULL,
  `SUBTITLE_ARTICLE` varchar(45) NOT NULL,
  `REFEREE_ARTICLE` text,
  `LINEUP_ARTICLE` text,
  `LINEUP_OPPONENT_ARTICLE` text,
  `CARD_ARTICLE` text,
  `CARD_OPPONENT_ARTICLE` text,
  `CHANGE_ARTICLE` text,
  `CHANGE_OPPONENT_ARTICLE` text,
  `GOALS_ARTICLE` text,
  `CONTENT_ARTICLE` text NOT NULL,
  `CREATED_ARTICLE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `IMAGE_ARTICLE` text,
  `MATCH_ID` int(11) NOT NULL,
  `USER_ID` int(11) NOT NULL,
  PRIMARY KEY (`ID_ARTICLE`),

ARTICLE_has_TAG
`ARTICLE_ID` int(11) NOT NULL,
  `TAG_ID` int(11) NOT NULL,

POST_ARTICLE
`ID_POST_ARTICLE` int(11) NOT NULL AUTO_INCREMENT,
  `CONTENT_POST_ARTICLE` text NOT NULL,
  `CREATED_POST_ARTICLE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `USER_ID` int(11) NOT NULL,
  `ARTICLE_ID` int(11) NOT NULL,

TAG
`ID_TAG` int(11) NOT NULL AUTO_INCREMENT,
  `NAME_TAG` text NOT NULL,

USER
`ID_USER` int(11) NOT NULL AUTO_INCREMENT,
  `USERNAME_USER` text NOT NULL,
  `FIRSTNAME_USER` varchar(45) NOT NULL,
  `LASTNAME_USER` varchar(45) NOT NULL,
  `EMAIL_USER` text NOT NULL,
  `PASSWORD_USER` text NOT NULL,
  `TYPE_USER` int(1) NOT NULL DEFAULT '1',
  `IMAGE_USER` varchar(100) DEFAULT '245x342.jpg',
  `KEY_USER` text NOT NULL,
  `ACTIVATED_USER` int(1) DEFAULT '0',
  `CREATED_USER` timestamp NULL DEFAULT CURRENT_TIMESTAMP,

1 个答案:

答案 0 :(得分:-1)

您可以通过JOIN或子查询

来执行此操作

Sub-query documentation

JOIN documentation

相关问题