gpt4 book ai didi

c# - 帮助 sql select 语法

转载 作者:行者123 更新时间:2023-12-01 00:31:24 26 4
gpt4 key购买 nike

他来这里是为了混淆他的一天! (以后应该是我的句柄)

我很困惑,很迷茫。

我需要弄清楚如何使 FriendID 与那里的 UserID 相关联的选择语句

enter image description here

enter image description here

如您所见,FriendID 与我的 User 表的 UserID 相关,因此如果 FriendID = 2,则显示 UserID 2 的详细信息。

我想做的是如果我的 UserID 1 我想显示我所有的 friend ,我的 userid 是由 session 设置的,

我需要做的是找出我的 friend 是谁,所以从 freinds 中选择 FriendID,其中 SessionID = UserID 然后一些如何找出 User 表中的 friendID 属于谁,并显示他的名字、第二个名字和他的图片路径。

非常困惑...

我的表结构是这样的:

enter image description here

总结一下我在选择命令中需要的内容:

找出我和谁成为 friend (currentsession UserID 有 FriendID)显示与自己UserID相关的friendID的FirstName、SecondName、图片路径

例子:

我 (userID=1) 有 FriendID 2 = UserID 2 所以从 User ID=2 中选择 firstname, secondname

我不确定我的表结构是否存在关系问题。

希望你能理解我的困惑:

EDIT 对于那些看不到我的数据库图像的人

    SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;

SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;

SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';



CREATE SCHEMA IF NOT EXISTS `gymwebsite2` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;

USE `gymwebsite2` ;



-- -----------------------------------------------------

-- Table `gymwebsite2`.`User`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `gymwebsite2`.`User` (

`UserID` INT NOT NULL AUTO_INCREMENT ,

`Email` VARCHAR(245) NULL ,

`FirstName` VARCHAR(45) NULL ,

`SecondName` VARCHAR(45) NULL ,

`DOB` VARCHAR(45) NULL ,

`Location` VARCHAR(45) NULL ,

`Aboutme` VARCHAR(1045) NULL ,

`username` VARCHAR(45) NULL ,

`password` VARCHAR(45) NULL ,

PRIMARY KEY (`UserID`) )

ENGINE = InnoDB;





-- -----------------------------------------------------

-- Table `gymwebsite2`.`WallPosting`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `gymwebsite2`.`WallPosting` (

`idWallPosting` INT NOT NULL AUTO_INCREMENT ,

`UserID` INT NOT NULL ,

`Wallpostings` VARCHAR(2045) NULL ,

PRIMARY KEY (`idWallPosting`) ,

INDEX `fk_WallPosting_User` (`UserID` ASC) ,

CONSTRAINT `fk_WallPosting_User`

FOREIGN KEY (`UserID` )

REFERENCES `gymwebsite2`.`User` (`UserID` )

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;





-- -----------------------------------------------------

-- Table `gymwebsite2`.`Pictures`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `gymwebsite2`.`Pictures` (

`idPictures` INT NOT NULL AUTO_INCREMENT ,

`UserID` INT NOT NULL ,

`picturepath` VARCHAR(1045) NULL ,

PRIMARY KEY (`idPictures`) ,

INDEX `fk_Pictures_User1` (`UserID` ASC) ,

CONSTRAINT `fk_Pictures_User1`

FOREIGN KEY (`UserID` )

REFERENCES `gymwebsite2`.`User` (`UserID` )

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;





-- -----------------------------------------------------

-- Table `gymwebsite2`.`Friends`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `gymwebsite2`.`Friends` (

`idFriends` INT NOT NULL AUTO_INCREMENT ,

`UserID` INT NOT NULL ,

`FriendID` INT NOT NULL ,

PRIMARY KEY (`idFriends`) ,

INDEX `fk_Friends_User2` (`FriendID` ASC) ,

INDEX `fk_Friends_User1` (`UserID` ASC) ,

UNIQUE INDEX `FriendID_UNIQUE` (`FriendID` ASC) ,

CONSTRAINT `fk_Friends_User2`

FOREIGN KEY (`FriendID` )

REFERENCES `gymwebsite2`.`User` (`UserID` )

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_Friends_User1`

FOREIGN KEY (`UserID` )

REFERENCES `gymwebsite2`.`User` (`UserID` )

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;







SET SQL_MODE=@OLD_SQL_MODE;

SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

最佳答案

select u.FirstName, u.SecondName, p.picturePath
from User u
join Friends f
on f.FriendId = u.UserId
join Pictures p
on p.UserId = u.UserId
where f.UserId = SessionId ( <-- sessionId is your id)

关于c# - 帮助 sql select 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5524627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com