If you are trying to do this command in JAVA minecraft, this may be happening because the 1.14.4 command syntax is different than it was in previous versions.
This is how I was able to give myself a banner.
Note: I have admin/OP powers on my server and can use commands, this doesn't work for non OP players on my server. I am using JAVA vanilla Minecraft on my PC (NOT bedrock / mobile / x-box / other console).
I did not make any changes to vanilla MC or use a datapack etc.
1) Change the sequence of the command to:
/give @o [item] {count}
This means removing the numbers after @o and moving them to the very end of the command
2) change the
minecraft:banner portion of the command
to -- Minecraft:COLOR_banner (not in caps) use the base color of the banner you want to give (such as minecraft:yellow_banner )
3) the color numbers are changed. This requires manually fixing the color of each layer in your give command if they are wrong.
1=orange, 2=magenta, 3=light blue, 4=yellow, 5=lime, 6=pink, 7=gray, 8=light gray, 9=cyan, 10=purple, 11=blue, 12=brown, 13=green, 14=red, 15=black, 16=white.
EXAMPLE:
original give command
/give @o 10 minecraft:banner {BlockEntityTag:{Base:11,Patterns:[{Pattern:vh,Color:8},{Pattern:bs,Color:7},{Pattern:drs,Color:3},{Pattern:hh,Color:8},{Pattern:mc,Color:6},{Pattern:cbo,Color:8},{Pattern:bts,Color:4}]}}corrected give command:
/give @o minecraft:yellow_banner{BlockEntityTag:{Base:11,Patterns:[{Pattern:vh,Color:7},{Pattern:bs,Color:8},{Pattern:drs,Color:12},{Pattern:hh,Color:7},{Pattern:mc,Color:9},{Pattern:cbo,Color:7},{Pattern:bts,Color:11}]}} 2You can change the @o to the player name
When the command is red in your command line, it's not going to work.