首先,我希望您显示我的桌子:

表用户

CREATE TABLE Users(
   EMAIL VARCHAR(40) NOT NULL);


表动作

CREATE TABLE Actions
    IDACCION INT NOT NULL,
    ACCION VARCHAR(100) NOT NULL);


表UserAction

CREATE TABLE UserAction(
    EMAIL VARCHAR(40) NOT NULL,
    IDACCION INT NOT NULL,
    DATETIME DATE NOT NULL,
    FOREIGN KEY (IDACCION) REFERENCES Actions(IDACCION),
    FOREIGN KEY (EMAIL) REFERENCES Users(EMAIL),
    PRIMARY KEY (IDACCION, EMAIL, DATETIME));


然后,我需要获取与他相关联的动作(来自动作的ACCION)和DATETIME(来自UserAction的DATETIME),条件是(来自用户的)电子邮件与“动作”电子邮件相同。可能吗?

如果不可能,我可以将DATETIME移到Action表中

最佳答案

您确实需要构造表,Users表没有主键,并且在应用程序上似乎没有任何用途,因为此查询甚至不需要Users表。

SELECT a.ACCION, ua.DATETIME FROM Actions a
INNER JOIN UserAction ua on a.IDACCION = ua.IDACCION

10-07 21:03