►
From YouTube: TTEOT Training Video - S1E12 - SQL: The Dashboard Finale
Description
You've watched the life-sucking training videos that led you step-by-step through each detail of George's twisted mind. Now watch the video that brings it all together in a slow, unrelenting madness as you take control of Koha and become the master of SQL and item records. (Maniacal laughing inserted here.)
Referenced code: https://wiki.koha-community.org/wiki/SQL_Reports_Library
Additional Resources: https://will1410.github.io/notebook/presentations/itemdashboard.html
Music: https://www.bensound.com
A
A
All
right,
this
is
one
of
our
regular
thursday
videos
and
you
can
find
this
video
if
you
go
to
coho
dash,
us.org
and
click
on
learn
from
us.
A
This
is
well,
it
looks
like
this
will
be
episode
number
12.,
and
you
can
also
find
all
of
these
on
on
youtube.
If
you
do
a
search
for
quahog
us
you'll
get
our
lovely
list
of
all
of
our
videos.
A
A
A
It
does
use
like
instead
of
equals,
although
it
could
use
equal
the
way
I'm
using
this
one.
It
does
use
sub
queries,
it
uses
coalesce
and
it
uses
unions
and
it
uses
extract
values.
A
It
uses
every
one
of
these
last
seven
things
that
we've
talked
about,
and
it
just
throws
them
all
into
one
report,
and
this
report
is
complicated
enough
that
I,
I
actually
put
a
whole
web
page
together
that
walks,
through
all
of
the
steps
that
I
use
to
get
there
and
we'll
share
the
link
with
that
in
the
video,
and
you
know,
let
me
start
off
by
just
running
the
report
and
I'm
going
to
run
it
and
talk
about
why
I
created
it.
A
So
let
me
set
up
three
of
these
to
run
so
you
know
at
my
library
we
have
for
my
cohort.
We
have
51
libraries
using
the
same
cohort
and
we
have
staff
members
in
some
libraries
that
have
master's
degree
in
library,
science
they're,
the
director
they've
got.
You
know
our
biggest
libraries
in
the
town
of
about
35
40,
000
people.
Our
smallest
library,
though,
is
in
a
town
of
about
less
than
150
people.
A
Their
annual
budget
is
is
tiny.
It's
like
less
than
25
000
a
year
and
part
of
that
is
a
grant
that
they
get
from
us
over
five
thousand
dollars,
and
that
is
a
grant
that
we
give
them
every
year
for
for
their
their
system-wide
trend.
A
A
I
can
scan
the
item
and
try
and
find
it
just
doing
the
normal
search
or
I
can
run
a
report
to
see
if
it's
in
the
deleted
items
table
there's
a
whole
bunch
of
different
reports
I
can
run
to
see
you
know.
Is
this
thing
in
transit
from
one
place
to
another,
hasn't
been
bouncing
around
from
library
to
library,
because
it's
getting
misrouted
there's
all
kinds
of
things
I
can
do
with
it
with
just
a
barcode
number,
but
if
what
I?
A
What
I
wanted,
though,
is
you
know
to
find
all
those
reports
I've
got
to
go
searching
usually
so
somebody
calls
it
and
they
said
this
barcode
number
doesn't
work
right
or
there's
a
problem.
With
this
item
there's
like
20
different
places,
I
can
go
to
find
out
information
about
it
and
I
wanted
one
place
where
I
could
just
plug
in
a
barcode
number
and
get
a
result.
A
So
this
report,
if
I
plug
in
a
barcode
number
for
an
item,
that's
currently
in
the
catalog,
I
get
a
result
and
it's
a
not
the
fastest
report
in
the
world
because
it's
doing
a
lot
of
things
right.
But
what
I
wanted
is
you
know
if
I
were
to
go
to
the
item
record
and
the
bibliographic
record,
I
would
get
all
this
information,
but
here
I
have
it
in
a
way
that
I
can
just
cut.
A
I've
got
the
home
library,
the
current
library,
the
permanent
location,
current
location,
item,
type
collection
code,
call,
number,
author,
title
and
barcode
number,
and
it's
all
in
one
place,
and
to
get
all
that
if
I
were
to
go
to
the
bibliographic
record,
I
would
have
to
part
of
it's
over
here
part
of
it's
down
here
in
the
table
and
so
there's
a
lot
of
cutting
pasting
and
chopping
things
together.
A
This
way,
I
get
exactly
what
I
want
in
exactly
the
format.
I
want
every
single
time
and
it
also
tells
me
what
are
the
what's
the
checkout
history.
When
was
it
added?
When
was
it
last
seen?
What
was
the
last
time?
The
the
what's
the
date
stamp?
The
last
time
the
item
record
was
modified
modified.
A
Does
it
have
a
not
for
loan
status?
This
one
is
damaged,
lost
and
withdrawn
because
I
wanted
some
dating
in
there
for
the
for
an
example,
so
it
was
damaged
in
shipment
today
it
was
lost
today
and
it
was
withdrawn
today,
but
then
I've
also
got
if
it's
checked
out
there'll
be
a
link.
Well,
if
it's
in
transit
there'll
be
transit
information
from
the
branch
transfers
table.
A
If
I
click
on
this
link,
it
will
open
the
bibliographic
record
in
a
new
window.
If
I
click
on
this
one
it'll
open
the
item
record
in
a
new
window
and.
A
And
then
I've
got
this
actually
goes
out
to
other
reports.
So
if
I
want
the
item
circulation
history,
I've
got
a
report
that
does
that
that
I
can
just
click
on
this
and
it'll.
Take
me
right
to
that
report
and
the
same
with
the
action
logs,
the
intransit
history,
the
request
history.
A
If
it
was
a
title
level
request
or
if
it
was
a
item
level
request,
so
I
get
all
those
things
in
one
place.
So
if
somebody
calls
me
and
gives
me
a
barcode
number,
I
don't
have
to
go
hunt
for
reports.
I've
just
got
them
all
right
there
and
then,
if
I've,
if
I
use
this
on
a
if
I
scan
in
the
same
report,
if
I
scan.
A
If
I
enter
a
barcode
number
and
the
item
has
been
deleted,
that
also
gives
me
a
result
and
I've
got
this
banner
at
the
top.
That
says,
it's
been
deleted
and
it
does
the
same
thing.
It
gives
me
all
the
item.
It
gives
me
slightly
different
item
information
because
there's
less
information,
I
need
to
know
if
it's
been
deleted,
but
and.
B
B
How
are
you
pulling
the
I'm
just
out
of
curiosity?
I
was
I'm
just
following
along
and
realizing
you've
said
at
the
bottom
that
this
was
deleted
from
the
catalog
within
the
past
13
months.
How
are
you
even
figuring
that
out,
because
the
deleted
table
doesn't
record
when
it
was
deleted?
It
only
has
the
last
time
stamp.
A
A
So
if
it's,
if
it's
not
in
this,
won't
look
for
things
that
are
not
in
the
deleted
items
or
the
items.
So
I
know
this
was
in
the
last
13
months
because
because
it's
still
there
there's
still
data
there,
and
I
picked
this
barcode
number
out
specifically
because
because
I
knew
it
was
still
there,
I
went
on
a
hunt
a
couple
of
weeks
ago
we
talked
about.
We
did
another
one
where
I
used
a
different
barcode
number
and.
B
A
Link
to
the
bibliographic
record,
because
the
item
record
is
still
has
been
deleted,
but
the
biblio
record
has
not
yet
been
deleted,
so
I've
got
a
link
that
goes
to
the
biblio
record.
For
this.
A
I
just
that
I
just
scanned.
A
The
item
record
has
been
deleted
and
the
biblio
record
is
also
deleted,
so
it's
not
going
to
have
that
link
there,
because
there's
nothing
to
go
to
in
co-op.
Instead,
it's
taking
a
long
time
to
run
here.
A
B
A
A
That
was
the
whole
idea
about
this.
I
spent
hours
and
hours
and
hours
building
this
report
over
a
period
of
about
two
or
three
years,
and
the
whole
idea
was
that,
if
I
put
this
all
together
and
do
it
this
way,
if
I
spend
100
hours
on
this,
that'll
save
me
like
two
minutes
each
time
I
I
get
one
of
these
phone
calls,
and
so
this
is
purely
out
of
laziness.
I
spent
a
ton
of
time
working
on
this
purely
out
of
laziness
out.
A
A
But
that
being
said,
you
know
you
could
go
and
plug
this
into
your
system,
but
it's
not
going
to
work
because
it's
not
going
to
completely
work
because
in
order
for
it
to
work,
you
have
to
have
the
the
reports
that
I
link
out
to
when
they
have
to
have
the
same
report.
Numbers.
A
And
so
what
I
thought
I
would
do
today
is
just
walk
through
the
steps
and
that's
what
I've
got
on
the
website
and
the
the
first
thing
I
say
after
that
is
yes,
I
know
it's
a
big
report,
there's
a
lot
going
on
here,
and
so
I've
got
each
step
laid
out.
How
I
got
to
this
point,
and
so
the
first
step
I'll
run
that
in
your
window,
what.
B
A
You
know
to
start
this
process
is
I
just
got
a
report
that
is
looking
purely
at
item
data.
That
was
the
first
thing
I
did
in
the
process
of
creating
this
is
I
just
have
a
you
know.
I
must
have
run
that
wrong.
A
A
report-
that's
only
looking
at
items
the
items
table
and
it's
not
concatenating
anything.
So
I'm
getting
everything
all
of
this
data
that
I'm
interested
in
it's
being
presented
as
a
long
table
just
the
raw
data.
This
is
just
the
raw
data,
and
so
that's
this
is
usually
the
way
I
build.
A
report
is
the
first
thing
I
want
to
do
is
I
want
to
get.
I
want
to
figure
out.
What's
the
raw
data
I
need,
and
then
I
start
doing
things
to
clean
it
up,
and
so
I
think
in
step
two.
A
A
A
Instead
of
the
collection
code
code,
I
can
get
the
collection
code
description,
and
so
this
the
second
step,
I'm
just
showing
how
to
do
that
with
one
sub
query-
and
I.
A
What
the
subquery
looks
like
so
I've
got
the
next
report.
You
can
run
there.
A
So
what
the
sub
query
is
doing
is
it's
just
generating
a
list
of
all
of
the
collection
codes
and
I've
got
their
authorized
value
in
this
column
and
their
description
in
the
other
column,
and
so
essentially,
what
I'm
doing
is
I'm
saying
every
time
that
it
sees
prof
call
it's
going
to
replace
it
with
professional
collection,
okay,
and
so
that's
what
gets
us.
You
know
professional
collection
instead
of
instead
of
the
code-
and
you
know
the
collection
codes
aren't
really
horrible.
I
do
have
one
called
xxx.
That
is
not
pornography.
A
So,
in
the
next
step
I've
got,
you
know,
I
show
what
it
looks
like
when
all
of
these
things
have
all
of
those
authorized
values
all
of
those
codes.
This.
What
this
next
step
does
is.
It
shows
all
of
them
as
a
description
instead
of
as
codes
so
damaged
in
shipment
lost
and
withdrawn
instead
of
one
or
two
one
and
five
or
whatever
it
is.
A
Thanks,
so
the
sub
queries
are
really
useful
for
getting
that
information
to
make
it
easier
for
staff
to
understand
right.
So
another
thing
that
I
want,
I
know
I
want
to
do.
A
A
So
up
to
now,
I've
been
putting
the
status
and
the
status
date
in
two
separate
columns,
and
so
the
next
thing
I
do
is
I
concatenate
them
together.
So
we've
got
damaged
in
shipment
and
the
date
and
lost
and
the
date
and
drawn
in
the
date,
and
that
way
I'm
trying
to
I'm
starting
to
do
things
to
make
it
look.
A
Damage
in
shipment
was
created
when
we
had
a
courier
vehicle
that
was
in
an
automobile
accident
and
all
of
the
materials
were
destroyed
and
the
driver
was
actually
did
not
survive.
The
accident,
oh
man,
and
so
this
was
a.
A
We
tried
to
identify
which
items
were
in
there
to
because
the
courier
companies
insurance
paid
for
the
replacement
of
those
items,
wow
yeah
it
was
it
was
before
I
got
to
kansas.
A
A
There's
yeah
report
number
seven:
this
is
gonna,
do
what
we
talked
about
in
the
video
about
extract
mark.
So
if
you
go
to
this
website
for
this,
how
to
do
this?
I've
got
links
to
all
of
the
videos
that
we've
done
so
far
so
step
four
involves
using
concatenation
and
if
statements,
and
so
there's
a
link
here
to
that
video.
So
if
you
haven't
seen
that
yet
and
the
step
three
has
got
the
sub
queries
and
so
there's
a
link
in
there
to
the
video.
A
A
Website
you're
going
to
see
all
the
things
that
we've
been
talking
about
over
time.
So
so
in
this
one
in
the
first
one
we've
got,
the
title
is
expect
more
and
that's
just
the
245
subfield
a
from
the
mark
record.
But
here
I'm
able
to
add
in
if
it
has
a
b
or
an
n
or
a
p
field,
I'm
putting
all
of
those
together
into
the
report
here,
so
that
the
title
is
not
just
the
not
just
the
title.
It's
going
to
have
all
the
parts
of
the
title
right
and
that's
something.
A
When
an
item
is
checked
out
some
of
these
items,
when
people
call
and
ask
about
them,
one
of
the
issues
is
that
the
item
will
be
checked
out,
and
so
what
I
want
is
a
link.
A
A
But
the
way
we're
doing
that
is
by
up
to
now,
we've
just
been
looking
at
items
biblios
and
biblio
metadata,
and
so
this
is
something
that
we
didn't
really
cover.
It's
a
concatenation,
but
it's
a
concatenation.
A
Well,
no,
we
did
talk
about
this.
Excuse
me
there's
a
lot
going
on
in
this
report
and
it's
hard
to
keep
it
straight.
What
I'm
doing
here
is
in
order
to
get
the
in
the
item
record,
you
can't
tell
you
can
tell
if
an
item
is
checked
out
or
not,
but
you
can't
tell
who
it's
checked
out
too,
and
so
this
part
of
the
report
involves
doing
a
sub
query.
A
Issues
table
then
that's
where
you're
going
to
find
the
borrower
number
right.
So
this
part
of
the
report
takes
a
sub
query
that
looks
at
the
issues
table
and
it
connects
that
where
the
issues
item
number
equals.
The
item
item
number
and
then
up
here,
I'm
concatenating
that
borrower
number
from
the
issues
table
into
a
link
so
that
if
it
is
checked
out,
it's
going
to
take
us
there.
But
then.
A
B
A
And
then
the
other
thing
that
you
know
we
just
talked
a
bit
about
transfer
issues.
A
If
an
item
is
in
transit
from
one
library
to
another,
there's
a
lot
of
things
that
can
go
wrong
like
drivers
having
accidents,
we've
had
an
issue
lately
where
somebody
has
been
taking
their
courier
materials
to
the
post
office
and
for
whatever
reason
they
seem
to
always
end
up
in
indianapolis,
and
then
they
get
shipped
back
to
lawrence
kansas
and
we
have
to
go
pick
them
up
at
the
post
office.
A
But
we
do
have
a
lot
of
issues
where
we
have
things
that
get
lost
in
transit,
and
so
I've
got
this
next
section
of
the
report
is
doing
something
similar
where
we're
linking
to
the
branch
transfers
table,
and
so
I've
got
a
sub
query
here,
which
is
looking
at
the
branch
transfers
table
where
the
date
arrived
is
null.
A
So
the
subquery
is
getting
all
of
the
data
from
the
from
the
branch
transfers
table
where
the
items
haven't
arrived
and
then
actually
in
the
report,
I've
got
an
if-then
statement
that
says:
if
the
branch
transfer
data
is
null,
then
it's
not
gonna.
If
there's
no
branch
transfer
result,
then
it's
gonna
give
me
a
dash,
but
if
it
is
in
the
branch
transfers,
it's
gonna
show
me
where
it
was
shipped
from
where
it
was
shipped
to
and
when
it
was
shipped.
A
A
Link
to
the
borrower
account,
so
I'm
concating,
I'm
doing
a
concatenation
where
I'm
saying
put
this
text
and
the
previous.
If
then
statement
with
the
link
in
it,
and
so
essentially
what
I'm
saying
is
that
whenever
I
have
that
link
to
the
borrower,
if
there
is
a
link
to
the
borrower
there,
it's
going
to
have
a
piece
of
text
in
front
of
it.
That
says,
link
to
the
borrower.
A
B
Yeah,
I
just
did
that
the
other
day
and
way
to
squash
that,
because
I
was
gonna
say
hey,
let's,
let's
talk
about
that
in
a
future
video
but
well.
A
Since
we
hadn't
really
talked
about
it
before
I
well
one
of
the
things,
this
is
step
eight
on
the
web
page.
So
the
reports
that
I'm
using
here
what
I've
got
is
I've
got
links
to
the
actual
reports
that
I
use.
A
So,
if
you
go
to
the
website,
there's
a
link
to
all
of
the
reports
that
I
use
and
I
kind
of
walk
through
this
a
little
bit
and
generally
the
way
you
know
if
we
want
to
if
we,
if
I
click
on
this
and
go
to
the
action
log
history,
so
what
this
is
do
what
this
link
is
doing
is
we
already
have
the
item
id
number,
the
item
number
from
the
items
table
yeah,
and
so
what
we're
doing
here
is
we're
concatenating.
A
You
can
take
the
parts
of
the
report,
you
know
you
can
take
this
this
url
and
put
it
in
another
browser
and
log
into
coho
and
enter
that
url
and
it's
going
to
run
the
report
yeah,
and
so
all
we
have
to
do
is.
Can
cap
is
concatenate
in
everything,
from
the
slash
before
the
cgi
bin
up
to
the
place
where
you
want
the
parameter.
A
A
B
B
I
can
add
that
information,
but
not
everybody's,
going
to
want
to
see
that
information
in
the
report
and
I
thought
I
could
duplicate
this
report,
but
I
thought
why
not
just
create
a
link
to
that
information
for
that
specific
item.
I
thought
I
hadn't
done
that
before
you
know
I
can
link
to
that
and
I
can
include
that
parameter.
So
it
goes
to
that
item
and
expands
on
that
information.
So
it's
it's
kind
of
like
a
report.
Drill
down
it's
really
nice
yeah.
A
It's
really
cool
and
I
I've
been
using
it
in
this
report
in
my
dashboard
report
for
a
long
time
so.
B
B
A
Cirque
history
there's
a
possibility.
I
might
want
to
see
the
history
in
the
action
logs.
I
might
want
to
see
the
entrance
in
history.
I
might
want
to
see
the
request
history
and
that's
so
much
to
put
in
one
report.
It
might
not
even
run
if
I
were
to
actually
try
to
load
that
wall
directly
and
report
it.
It
would
probably
fail.
A
A
A
You're
just
concatenating
in
the
reports
url,
you
need
to
put
the
report
number
in
there
and
then
you
need
to
find
the
pieces
that
you
want
to
search
for
and
put
those
find
the
the
way
that
they're
explained
the
way
that
the
report
expresses
them
and
make
sure
that
it
matches
the
way
that
the
other
report
needs
them
to
be
expressed.
A
A
A
So
I've
got
you
know
the
home
library,
colon,
current
library
called
permanent
location
colon.
So
eventually,
when
I
plug
this,
also
it's
just
that
one
easy
layout
I've
got
all
of
the
all
of
the
things
are
labeled
as
to
what
they
are,
and
this
is
you
know,
a
lot
of
concatenation,
because
I'm
concatenating
this
string
home
library,
up
against
items,
home
branch
and
current
library
up
against
items
holding
branch
yeah
and
for
you
know
for
title,
since
I've
got
the
ex
the
biblio
metadata
here,
I've
got
I'm.
A
Into
this
string
with
the
separator
and
now
I'm
putting
a
concatenation
around
that,
so
that
it's
got
a
label
that
says
title
and.
A
Is
the
the
reason
that
this
step
I
feel
is
necessary
is
because
you
know,
like
I
said,
I'm
trying
to
get
to
a
point
where
I
can
copy
and
paste
this
data
if
I
need
to
in
an
email-
and
it
makes
sense
to
the
people
that
are
getting
it?
Who
might
not?
You
know,
think
about
you
know
when
they
see
the
statuses
they
they're
going
to
need
something
there
that
tells
them
it's
a
damage,
status
or
withdrawn
status,
because
the
like,
I
said,
the
level
of
experience
among
the
staff
varies
yeah.
A
So
I
want
you
know
the
things
that
I
try
to
do.
I
try
to
make
it
just
as
easy
for
the
new
person
on
the
job
to
understand,
as
it
is
for
the
person.
That's
done
this
for
years
and
years
and
years
like
we,
both
happened.
A
A
B
This
is
yeah,
oh,
I
was
going
to
say
so
I
may
be
jumping
ahead
here.
I
apologize
if
I
remember
correctly
in
your
demo.
Those
were
actually
in
separate
groups.
So
did
you
do
you
later
concatenate
just
groups
to
be
able
to
spread
those
apart
into
into.
A
That's
actually
the
next
step,
so
this
was
number
13
number
14..
I
think
when
we
get
down
to
number
to
the
next
step.
A
And
the
way
that
I
do,
that
is
actually
pretty
simple.
I
know
that
I
want
a
section
break
between
like
this.
This
is
kind
of
the
item
data
about
you
know.
These
are
the
things
about
the
item.
It's
kind
of
like
the
item
metadata
and
then
I
get
down
to
like
the
items,
statistic,
data
and
the
statuses,
and
so
all
I
do
is
I
stick
a
line
break
before
checkouts
there
you
go
okay,.
A
The
link
to
borrower,
because
that's
at
the
top
of
the
section
in
the
section
for
links
and
then
I
added
another
one
before
the
reports
so.
A
And
I
I
threw
some
screenshots
in
there,
so
people
can
get
an
idea
of
what's
going
on,
and
so
then
the
next
thing
I
wanted
to
do.
There
are
some
libraries
that
I
tell
them
how
to
run
this.
I
should
point
out
this
report
to
them.
I
show
them
how
to
run
it,
and
so
that
means
I'm
not
the
only
one.
That's
running
this
report
and,
like
I
said
varying
staff
members
varying
levels
of
experience,
everybody's
different.
A
A
Add
another
piece
of
html
here
that
says
this
item
is
currently
in
the
catalog
and
I've
got
all
the
html
there
to
I've
got
the
color
of
the
text
is
white.
The
background
color
is
this
color
green
I've
got
it
aligned
in
the
center
and
I've
got
the
text
I
want,
and
I've
just
got
that
copied
at
the
beginning
and
at
the
end
and.
A
You
know
andrew
at
bywater
had
for
a
while
when
he
was
experimenting
with
sound.
You
would,
I
don't
remember
what
it
was,
but
he
would
open
something
and
it
would
play
part
of
the
batman
theme
from
the
1960s
adam
west,
batman
tv
show,
so
this
report
once
once
I
get
to
this
point,
we're
at
a
spot
where,
essentially
this
is
done
as
far
as
items
that
are
stolen,
the
system
goes
and
I've
got
you
know
I
I
wrote
these
reports
on
my
system
said
this
top
one
is
a
barcode.
A
That's
still
in
the
system.
The
second
one
is
a
barcode,
that's
not
in
the
system,
and
so,
if
I
run
this
barcode,
I'm
going
to
get
no
result
because
so
far
we're
only
looking
at
items
we're
not
doing
anything
to
look
for
deleted
items.
A
A
So
that's
where
I
start
to
you
know
in
the
in
the
website
that
I've
got
here.
I
call
this
is
the
intermission.
This
report
is
half
done.
B
A
Where
I
can
plug
in
a
deleted
item
and
get
a
result
also,
so
that's
what
the
rest
of
this
does.
This
is
the
section
that
goes
through
and
looks
for
deleted
items,
and
I
did
it
almost
exactly
the
same
way
that
I
did
the
other
one
where
I
start
off
with
you
know,
this
is
getting
the
basic
data
just
from
the
deleted
items
table.
A
A
We've
got
the
data
and
I've
got
all
of
the.
A
So
right
here
with
this
step,
thirteen
I'm
looking
at
deleted
items
and
I'm
looking
at
biblioauthor
and
bibliotitle
and.
A
A
So,
for
for
this
first
step,
I
get
the
data
and
it's
laid
out
as
a
table,
and
this
item
is
still
the
item
has
been
deleted,
but
the
bibliographic
records
is
still
exists.
A
A
Biblio
table
to
a
left
join
and
then
to
also
do
a
left
join
on
deleted
biblio
so
that
when
it's,
when
the
title
is
still
in
the
system,
it's
going
to
get
the
author
from
the
biblio
table.
B
So
talking
about
coalesce
real,
quick,
I
I
I
love
coalesce.
You
opened
my
eyes
to
to
a
great
function
that
I
didn't
know
about
before,
but
I
was
wondering
when
you,
you
did
the
first
section
for
an
item
that
exists
that
isn't
deleted
right.
The
section
for
the
deleted
items.
Did
you
just
add
duplicate
code
to
handle
that,
or
are
you
using
any
kind
of
coalesce
to
determine
you
know
if
there's
something
from
an
items
table
put
it
here
if
not
coalesce,
to
a
deleted
items?
If
not,
then.
A
What
you
have
to
do
is
you
have
to
the
in
this
first
version,
where
I've
got
biblio
author
and
biblio
title.
So
it's
only
looking
at
things
where
the
bibliographic
record
hasn't
been
hasn't
been
deleted.
A
B
A
Isn't
a
biblio
number
in
biblio
then
don't
show
me
anything
okay
and
so
in
the
next
one
I
have
to
left
join
to
deleted
biblio,
so
I've
got
I've
still
got
the
left
join
to
biblio,
where
deleted
items
biblio
equals
bibliography,
but.
A
And
that's
where
the
coalesce
comes
in,
because
it's
saying
you
know
if
deleted
items,
if
there's
no
connection
between,
if
there's
nothing
found
in
biblio,
where
biblio
number
equals
deleted
items,
biblio
number
and
since
it's
a
left
join.
Essentially
it's
looking
at
deleted
items.
Bibliomy
are
deleted
biblio
and
biblio
at
the
same
time,
but
it's
only
going
to
give
a
result
and
here
by
coalescing
them
it's
getting
where
biblioauthor
is
known,
then
it's
going
to
coalesce
into
deleting
biblio
author.
Does
that
make
sense,
yeah.
B
A
A
A
A
And
so
that's
what's
going
on
here
is
now
I've
got.
You
know
this
one
if
there's
no
results.
A
This
is
the
first
step
where
I've
got
no
result
where
the
biblio's
been
deleted,
and
here
I've
got
a
result
for
the
item
from
tonganoxie,
which
is
this
middle
barcode
number.
A
Okay!
Well,
as
we
were
recording
this
video,
we
found
a
problem
with
with
things
dealing
with
the
coalesce
in
step
13,
I
believe,
and
so
I'm
going
to
figure
out
exactly
what's
wrong
and
by
the
time
this
video
is
on
the
website
is
on
youtube.
A
A
So
in
this
case,
with
the,
let
me
run
this
with
the
second
barcode
number.
A
There
are
a
lot
fewer
reports
and
links
in
this
work
in
the
parts
that
for
the
deleted
items
and
that's
because
most
of
those
reports,
like
the
items,
request,
history
and
the
in
transit
history
and
all
of
those
things
once
the
item's
been
deleted.
All
that
data
is
gone.
Yeah
there's
no
way
you
can
run
a
branch
transfers
report.
An
item
that's
been
deleted,
because
when
you
delete
the
item
it
kills.
A
A
This
other
report,
though,
that
I
I
think
I
can
safely
run
into
the
video
what
it
what
this
report
does
is.
It
looks
at
the
account
lines
table
and
anytime.
It
finds
that
barcode
number
in
an
account
line
note
or
an
account
line
description.
A
That's
become
slightly
less
useful
in
cohab
because
it
used
to
be
that
when
something
was
all
of
that
data
about
an
item
was
saved
in
the
description
field
in
the
account
lines,
but
now
it's
being
chopped
up
and
saved
into
separate
columns,
and
so
it
used
to
be
that
when
an
item
was
deleted,
the
if
it
had
a
fine
on
it
there,
there
would
still
be
a
record
of
that
barcode
number
in
the
description
field
on
the
account
lines
now,
since
that
barcode
number
is
stored
in
a
separate
column
in
account
lines,
it's
another
one
of
those
things
that
when
the
item
gets
deleted,
it'll
it'll
take
that
data
out
of
the
account
lines
table.
A
So
it's
harder
to
search
for
old
fees
for
fees
on
deleted
items.
In
the
account
lines
table,
I've
actually
asked
for
a
spec
on
a
development.
A
A
quote
on
a
development
that
would
allow
us
to
have
like
a
yaml
style
system
preference
that
would
tell
quahog
what
data
about
an
item
would
be
saved
in
the
description
field
when,
when
fines
and
fees
are
created,.
B
B
A
It
would
have
a
way
for
that
information
to
persist
after
the
item
is
deleted,
but
I
still.
A
There,
because
that's
one
of
the
things
that
this
report
gets
used
for,
it's
still
useful
for
things
that
have
that
still
have
the
barcode
number
in
the
I
user
description
notes.
A
So
that's
the
only
report
that
this
one
links
out
to
the
only
separate
report
that
this
links
out
to
is.
A
A
A
So
we've
got
that
big
red
banner
when
the
item's
been
deleted,
but
still
we're
at
a
point
where,
if
I
run
this
and
I've
got
an
item,
that's
still
in
that's
still
active.
This
is
another
case
where
I
get
zero
results.
A
A
If
the
item
is
live,
that's
what
this
top
report
is
for
and
then
in
the
middle
I've
got
this
union
and
everything
from
the
deleted
items
table.
That's
everything
from
here
down
and
the
way
that
they
both
know.
What
the
barcode
number
is
is
cohab
will
do
this
if
you
have
enter
item
barcode
number
in
double
angle
brackets,
if
you
have
that
at
two
places
in
one
report
and
they're,
both
spelled
exactly
the
same.
A
A
A
You
had
to
do
afterward
you
have
to
create
the
variable
and
then
do
collate,
and
then
it
was
a
whole.
You
had
to
collate
the
character
sets.
B
To
do
that,
yeah
it
was
it
was,
it
worked,
it
was
tricky
to
get
it
to
work
and
every
version
that
came
out
of
quahog
something
would
break
he'd
have
to
fix
it.
It
was
like
yeah,
it
was.
It
was
a
nightmare
to
try
and
keep
up
with.
This
was
probably
one
of
the
single
most
important
updates.
They
did
to
reports.
Was
you
know,
yeah
doing
this,
so
you
don't
have
to
enter
the
same
information
twice
and
you
don't
have
to
mess
with
variables.
A
Right,
I
still
have
some
reports
that
use
them
because
they're
old
reports
and
they
still
work,
but
I
do
remember
that
when
they
added
that
when,
when
they
added
emojis
to
coho,
that
was
when
the
character
said
change
and
you
had
to
go
in
and
redo
all
of
those
collate
statements.
A
A
You
know
making
it
so
that
when
you
do
have
the
double
angle
brackets
and
everything
in
between
them
is
spelled
exactly
the
same,
and
it
recognizes
that
that's
the
same
variable
that
helped
a
lot
and
it
helped
even
more
when
the
first
release
that
was
in
there
was
a
bug
in
it
and
fix
it
when
they
fixed
that
bug
that
made
it
perfect.
So.
A
A
Maybe
another
year
in
another
year,
I'm
sure
it'll
be
that
far
along,
because
I
use
this
all
the
time.
If
you
notice
up
here
on
my
bookmarks
toolbar
there,
it
is
right
there.
I
use
this
thing,
probably
at
least
three
or
four
times
a
day.
B
A
All
I
got
to
do
is
plug
the
barcode
number
in
there
and
I
get
a
result
and
the
result
tells
me
everything.
I
need
to
know
about
an
item
and
it
makes
it
easy
to
find
all
of
that
stuff
in
one
place
and
if
I
need
to
send
this
data
in
an
email,
this
is
a
lot
easier
to
cut
and
paste
into
an
email
than
this
is.
B
A
B
B
A
Get
that
issue
fixed
and
I
update
the
web
pages,
then
it'll
that'll
be
even
better.
Then
it'll
do
what
it's
supposed
to
do.
I've.
A
Off
in
there,
because,
because
it
normally.
B
A
B
A
Would
say
again,
you
know
if
you
go
the
reports
that
I
link
to
all
the
reports
that
I
use
are
available
if
I
can
find
the
right
spot
yeah.
All
of
this
click
for
report
click
here
for
these
reports.
This
will
take
you
to
the
github
site
that
I
use
all
of
the
sql
that
we
use
at
nipples
I
store.
I,
I
run
a
report
to
put
all
of
this
stuff,
essentially
to
back
it
up
on
github.
A
I
put
a
lot
of
stuff
in
there,
but
there's
some
stuff.
I
don't
use
because
I
do
use
some
special,
some
specially
created
authorized
values
in
our
reports
and
if
you
use
those,
if
I
have
a
report
that
uses
those,
it
can't
really
be
it's
hard
to
transfer
to
another
library.
If
you
don't
have
that
same
authorized
values
table
got
it.
That
was
a
presentation
I
did
at
the
conference
at
the
koha
us
conference
in
coeur
d'alene
that
maybe
somewhere
down
the
road.
A
Video
on
it,
but
it's
it's
an
easy
way.
You
know
for
us,
we
have
libraries
and
four
of
them
are
with
one
are
in
one
district,
so
they
want
data.
Sometimes
they
want
data
just
for
donovan,
county
elwood
branch
or
just
for
donovan
county
highland
branch,
but
the
because
I've
got
them
because
all
of
their
location,
their
library
code,
starts
with
don.
I
I've
got
an
authorized
values
table
that
is
essentially
a
duplicate
of
all
of
the
branch
codes,
but
then
there
is
one
of
those
is
don
I
wild
card.
A
So
that
way
they
can
run
a
report
that
gets
them
data
for
all
four
of
their
libraries
instead
of
just
four
one
at
a
time-
and
the
same
is
true
with
our
other
prairie
hills,
library,
district
and
the
reason.
A
Because
I've
got
the
branch
codes
so
that
the
first
several
letters
of
the
branch
code
match
and
only
match
their
libraries
nice.
So
it's
harder
to
do
with
like
when
I
worked
at
layton
county
library,
the
codes
for
layton
county
libraries
were
bov,
dea,
j-u-l,
m-o-s
and
etc.
So
none
of
them
had
any
common
pieces
to
them.
So
that
made
it
a
lot
harder
to
do
there.
A
Those
those
codes
were
in
place.
Yes
here
at
knuckles,
if,
if,
if
you
have
a
bunch
of
codes
where
there
isn't
anything
in
common,
then
what
you
got
to
do
is
you
got
to
go
ahead
and
come
up
with
a
plan
for
how
to
change
all
those
codes
to
make
them
something
so
awesome?
B
B
B
A
B
I'm
up
for
it.
I'm
rested
up,
I'm
I'm
ready
to
go
so
yeah,
absolutely
so
george.
Thank
you
very
much
for
sharing
your
exceptional
work
with
sql.
B
Again
I
have
I've
learned
a
lot
you've
added
to
my
arsenal
for
report
writing
and
I
am
looking
forward
to
using
those
tools.
I've
already
been
using
some
of
those
tools
and
enjoying
that.
So
thank
you
so
much
for
everything
that
you've
shared
and
everything
that
you've
done
and
thank
you
for
being
a
part
of
our
training
videos.