我需要一些建議來說明如何爲我的數據中的特定情況創建SQL語句。我有兩個表具有以下字段:當兩個字段中的一個可以爲空時,SQL JOIN
horse_shows table
horse_shows.showID
horse_shows.horse_show_date
horse_shows.horse_show_managerID
horse_shows.horse_show_secretaryID - this field is allowed to be empty
show_managers table
show_managers.managerID
show_managers.name
show_managers.email
在horse_shows表映射到一個經理ID在show_managers表都horse_show_managerID和horse_show_secretaryID領域。並非所有節目都會有一個節目祕書,所以horse_shows表中的horse_show_secretaryID字段可以爲空。
我想打印出具有特定ID的節目的節目日期,節目經理和節目祕書。如果horse_shows表中的horse_show_secretaryID字段爲空,我希望它只是爲祕書打印空白。所以,我想這一點:
SELECT
horse_shows.horse_show_date,
show_managers.name,
show_secretaries.name
FROM horse_shows
JOIN show_managers ON horse_shows.horse_show_managerID = show_managers.managerID
JOIN show_managers as show_secretaries ON horse_shows.horse_show_secretaryID = show_secretaries.managerID
WHERE horse_shows.showID = 'XYZ';
但是,如果它發現在show_managers表上都horse_show_managerID和horse_show_secretaryID匹配上面的語句只返回的表演與showID行。如果horse_shows表中的horse_show_secretaryID字段爲空(這是一個有效條件),則該語句不返回任何行。如果horse_show_secretaryID字段爲空,我希望它返回'XYZ'節目的日期,經理和(空白)祕書。
任何人都可以幫助我嗎?
謝謝!
您使用的是SQL Server還是MySQL?請學會適當地標記您的問題。 –
對於看起來不正確的標籤,我表示歉意。我是新來的使用SQL,我沒有意識到,在這種特殊情況下,我使用的SQL有所不同。我以爲我在問一個普通的sql問題。我在這種特殊情況下使用mysql,我建立WordPress的網站作爲一種愛好)。但是,我也在使用sql-server工作。所以,我認爲這兩個標籤可能適用於此。 – user3212454